From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id C87A0C43334 for ; Wed, 6 Jul 2022 23:14:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6031E6B0072; Wed, 6 Jul 2022 19:14:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5B2E96B0073; Wed, 6 Jul 2022 19:14:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 47AD06B0074; Wed, 6 Jul 2022 19:14:14 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 383F16B0072 for ; Wed, 6 Jul 2022 19:14:14 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id DC19520302 for ; Wed, 6 Jul 2022 23:14:13 +0000 (UTC) X-FDA: 79658230386.12.B1CCE20 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by imf16.hostedemail.com (Postfix) with ESMTP id D2D02180030 for ; Wed, 6 Jul 2022 23:14:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1657149252; x=1688685252; h=date:from:to:cc:subject:message-id:references: mime-version:in-reply-to; bh=MsH9VfZ6s5BBxdiYFO1xXZm3xVBgILtliRATJrH+FVI=; b=U+PkzydojkicqPrs4lIvBj3aBKV0ltBxtD7hZBqabQW5ehxtQo4Kkckf +fqBDU5NuDBA3LIdtdqmcHeB3GkbgoOeESlI/W0SLnpf4tbhxBzjdMrJO ppE3GGFyK4UfOXKuLqfvAMQGmei4cvpATGIneqnaNHBlPlpwUtYzp3fK9 CXoXTTxERiVnREAV2zUK8ac6XPvB31YVF3MHbIUCaSuG69PWNufyDWhvw zd4pcXxWuaecy8WdugpVMXzcb86CIvzy6bJ6sAxuRoNeAQ8DT4CwXuEOi 2HnFA630sGnoh7tmd5+31db3ujwEVgDySxNfZQHuEAt42gEyO2TUFxXIa g==; X-IronPort-AV: E=McAfee;i="6400,9594,10400"; a="266917876" X-IronPort-AV: E=Sophos;i="5.92,251,1650956400"; d="scan'208";a="266917876" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Jul 2022 16:13:46 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.92,251,1650956400"; d="scan'208";a="770216669" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga005.jf.intel.com with ESMTP; 06 Jul 2022 16:13:42 -0700 Received: by black.fi.intel.com (Postfix, from userid 1000) id A5F0E11D; Thu, 7 Jul 2022 02:13:49 +0300 (EEST) Date: Thu, 7 Jul 2022 02:13:49 +0300 From: "Kirill A. Shutemov" To: Alexander Potapenko Cc: Dave Hansen , Andy Lutomirski , Peter Zijlstra , the arch/x86 maintainers , Kostya Serebryany , Andrey Ryabinin , Andrey Konovalov , Dmitry Vyukov , "H . J . Lu" , Andi Kleen , Rick Edgecombe , Linux Memory Management List , LKML Subject: Re: [PATCHv4 3/8] mm: Pass down mm_struct to untagged_addr() Message-ID: <20220706231349.4ghhewbfpzjln56u@black.fi.intel.com> References: <20220622162230.83474-1-kirill.shutemov@linux.intel.com> <20220622162230.83474-4-kirill.shutemov@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1657149253; a=rsa-sha256; cv=none; b=RzheKpagGZGm+7loLchTt7NMafSHm3bBWuEjmR0GTcHJQJShkgsZ1ws1V+WDqCulYSMkBT vRXpa0DKsoDwqCaSMi508aq9qHVRwsIph7IC79c4d0bJ5oYP0jNCGAa+FHaOGMt9K/ZVwq OorMa00KcuyEvVVRJGOBKBqznsQDr18= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=U+Pkzydo; dmarc=pass (policy=none) header.from=intel.com; spf=none (imf16.hostedemail.com: domain of kirill.shutemov@linux.intel.com has no SPF policy when checking 134.134.136.126) smtp.mailfrom=kirill.shutemov@linux.intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1657149253; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=LJ1hrpxZYYFos8VvEq3PGtS1M63ZwoECYaFg2T/HrHA=; b=qKkt8BfzbKw9ze0vDkOG4zIaoHYaVgpScyAWuanoqsemzliD8pUuPX/9L2kV7hCOptMaL6 8zJBAj/nfoBlQrjJlNOZKWPa0gObZUWakq3aq59hj392cN5yEisJdRYH0nuwxHFuhBAgHs j7maYjo/dW5RfAU4PKLaqQvCa+v/W0s= X-Stat-Signature: amxwbtjg4wxd8qi3btomc33nr3f6eaxc X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: D2D02180030 Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=U+Pkzydo; dmarc=pass (policy=none) header.from=intel.com; spf=none (imf16.hostedemail.com: domain of kirill.shutemov@linux.intel.com has no SPF policy when checking 134.134.136.126) smtp.mailfrom=kirill.shutemov@linux.intel.com X-HE-Tag: 1657149252-147635 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Tue, Jul 05, 2022 at 05:42:21PM +0200, Alexander Potapenko wrote: > Kirill, > > > > diff --git a/lib/strnlen_user.c b/lib/strnlen_user.c > > index feeb935a2299..abc096a68f05 100644 > > --- a/lib/strnlen_user.c > > +++ b/lib/strnlen_user.c > > @@ -97,7 +97,7 @@ long strnlen_user(const char __user *str, long count) > > return 0; > > > > max_addr = TASK_SIZE_MAX; > > - src_addr = (unsigned long)untagged_addr(str); > > + src_addr = (unsigned long)untagged_addr(current->mm, str); > > In a downstream kernel with LAM disabled I'm seeing current->mm being > NULL at this point, because strnlen_user() is being called by > kdevtmpfs. > IIUC current->mm is only guaranteed to be non-NULL in the userspace > process context, whereas untagged_addr() may get called in random > places. > > Am I missing something? Hm. Could you show a traceback? As strnlen_user() intended to be used on an user string I expected it to be called from a process context. I guess I'm wrong, but I don't yet understand why. -- Kirill A. Shutemov