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 516C7C3DA41 for ; Wed, 10 Jul 2024 17:43:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DDB896B008C; Wed, 10 Jul 2024 13:43:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D8A196B0098; Wed, 10 Jul 2024 13:43:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C517E6B009E; Wed, 10 Jul 2024 13:43:19 -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 A6D7F6B008C for ; Wed, 10 Jul 2024 13:43:19 -0400 (EDT) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 5481A801CC for ; Wed, 10 Jul 2024 17:43:19 +0000 (UTC) X-FDA: 82324564518.16.05A8547 Received: from mail-yw1-f181.google.com (mail-yw1-f181.google.com [209.85.128.181]) by imf26.hostedemail.com (Postfix) with ESMTP id 87D6D14001C for ; Wed, 10 Jul 2024 17:43:17 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=ORfoZvDB; spf=pass (imf26.hostedemail.com: domain of surenb@google.com designates 209.85.128.181 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1720633382; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=gncxGrknoXQ/IKLNR0UwrMsMKJahmerSOv55AR1WPEY=; b=IiJJNxaGBpp2TdygiRq5EqSZngOCEw55iNKSkcOX1ixcgleI5GLIFScr2K0ooLFx6Q0/XG H6K0tTp2//xZxqOy6lsTyQlBPVAER4xIvgY5wyp/NudQj5F2aWPkRrUjj74TEks1fFJdNU tSzefXJoWI8r44zaYQNHKP2RmY018Sc= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=ORfoZvDB; spf=pass (imf26.hostedemail.com: domain of surenb@google.com designates 209.85.128.181 as permitted sender) smtp.mailfrom=surenb@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1720633382; a=rsa-sha256; cv=none; b=3M4YXYLfaN4at6l41knX5hFH+YT1TYTNRmvv/WpcHijgGuC+cikMaUmKsEIUowqCryA6fi Clj95UzC2VHWWs4Djnj5NFAvxpJBP5nBroJFwl2f8vlTWrNXnAK+hJJHNdIBRzTOr1FVh2 /Gk3u7LHp/BpQS8Okestw+UYEbdJx3c= Received: by mail-yw1-f181.google.com with SMTP id 00721157ae682-64b3655297aso90037b3.1 for ; Wed, 10 Jul 2024 10:43:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1720633396; x=1721238196; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=gncxGrknoXQ/IKLNR0UwrMsMKJahmerSOv55AR1WPEY=; b=ORfoZvDBTocTSM12ZN4ouuMGHQGwEfEN9QKzZfkMm1Pl5m61EjY4ZeEjS2U0dk7Rzt FQKTyRWKt/dJKnYELDRWzZuUTFdYfU5JBLWBigSqdkCLocvYdRbPQrQosMDURwA/n406 HYF02mj//2Cmb8vn3PX3N9u5fhZar0jogYBu894T0ssg/t4WYKHmr038jQ0rA6LJFPec +0VskysmNPnKyEsV5SI/yzBEYjnBJXlUkqFfkl3O6Ud8b8+h6QZXypAowduwJttocnvO yuFjFGIrxKU1dMryFbqRwHt6dNkIjTg/VQ33lruCv8lyK7nvqwsieX9F7Y7ArfGUbKah dG4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720633396; x=1721238196; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gncxGrknoXQ/IKLNR0UwrMsMKJahmerSOv55AR1WPEY=; b=p4/8WqkhL4JB0PDbvTcnCCaHS0tkWYBUTrNG+XmUVYqf90ITEZaXA50BVb5oNr4TxZ 4PLA13VCxaJSfqk872vlHR+T0MWBtWeheNhLts3YT3RwunhotOP0OYBEYSriLW/uNA0t XrCw3HnAmveD5CqUFUp6ldjYEzgZPhsvt/EDvJzHoE8tY4NFmRViTXAXin8bmO2kJvph qSPGxLB49xejkN2Es8KcAUfk3Kg4wRU6m2lZfp47xXqlFsIfgex4aB4CRVsP6rCLT7XO 49/PXWOSMEABeEIYQ14Wewgrks5tjiXLAm8IZtZ9meTVK8CJrIgsyYzPDoPht1bhl3X2 FMmQ== X-Forwarded-Encrypted: i=1; AJvYcCWvz8lOQFoeWAy8Z2RLCWLkK1l28s2Lg26l1YWN/Hly8C3dkeZrciX+cROll21jp+cRzz5O22bzibUE67JvJtUuReo= X-Gm-Message-State: AOJu0YwGhf2Tjj/fWzOwAR/NZr0jFSp1HEnXnAgHGhXEYQnXnVi0S65g mwEDI/kS/xAyv6xb4DNkinZi1T4hL0822FZ1id21dB4OCMVXE4eFReJP9ru/fG73Np8j+PgpaYf pmmGxwZ0jiDDAjUIOzZTiYFvSQWKgQNe+YfEU X-Google-Smtp-Source: AGHT+IHIJGDWenq5M5Qd/Y/OfiKdzAH6ZcJ/NZ71Tll1kTz8nut2YI5oWoMv3ccd2nCKSKbM1LiuQQ6pQyn184TK99c= X-Received: by 2002:a81:91cd:0:b0:648:bca0:1e71 with SMTP id 00721157ae682-658f09d2be7mr62761217b3.35.1720633396300; Wed, 10 Jul 2024 10:43:16 -0700 (PDT) MIME-Version: 1.0 References: <20240704182718.2653918-1-Liam.Howlett@oracle.com> <20240704182718.2653918-16-Liam.Howlett@oracle.com> <235952c0-0007-41ca-8399-dd388e5596e3@lucifer.local> In-Reply-To: <235952c0-0007-41ca-8399-dd388e5596e3@lucifer.local> From: Suren Baghdasaryan Date: Wed, 10 Jul 2024 10:43:05 -0700 Message-ID: Subject: Re: [PATCH v3 15/16] mm/mmap: Use vms accounted pages in mmap_region() To: Lorenzo Stoakes Cc: "Liam R. Howlett" , linux-mm@kvack.org, Andrew Morton , Vlastimil Babka , Lorenzo Stoakes , Matthew Wilcox , sidhartha.kumar@oracle.com, "Paul E . McKenney" , Bert Karwatzki , Jiri Olsa , linux-kernel@vger.kernel.org, Kees Cook Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 87D6D14001C X-Stat-Signature: fcw9u5bs3wuehemc4hphzxbi1wwocz71 X-HE-Tag: 1720633397-411575 X-HE-Meta: U2FsdGVkX1/R/hqclhd/Cqn2ags+4/7/APgEJSC/TO7wgjQF3DASEAnMeBnQKwpGD/tl66hvmtYZf1B03WkVgQTZwvKnlrx7Zo/xWwrdvYrwL7PKVXgvZvp8v9GpU9tt0ADKDlx2zUO+R12SCUfMWAFCBg/qXl0loqFMGIEKk5qS+EQsHMLG293KSciPUjpwYI/o5ktTQUa5X2WkhNNdlo2CGtDWI3i7kv7rgRHNwVyILTuXY0DHQs9u3SGqNF9blh6sNRczEqSFFLT4YkfLpn/Bccbxbz87qOYGctSe+jDUGDtfS/UVJxagnUJz4+tQ60nCLlu72DrbgLMFwVfPvBzLe9qlOcjbsZMUWNxoR2DL+s0Kd9kw4oH8TzX6SNN6ov8cYFVeW6s9gmzTZ8j+jJS6cOHWMX0bsPgTvVVgUgjWej6/etV9hGKgnl/DmPaWDBIlfmFDaVsNTcpQmB8NMtMy3ArmaWZEHBUqB3fPaJ6U8dQ1esA3G4FAXvC1FzkmZAQ3glPvihgk0PA7wNxUZXYvyy2IQgcO6E+3Xx+uKk8+wXWHXnQ4z/hPuQhYVBg22aV0TxFnQLkyiS4VvjgXeG/qMeHdMcwApLRA2Te/CP7T32FK0CA5dqK8TbCoGR6pTkPnM7koWXamtDCCHbWWNL2aPIAoKuud2R0s5/mQd5Eg0B15N4ARVm0uov2XPB1EcUVOZSBeZtWjUM9sp9F76n2cUqItwKvROIYfUVJtAKNkFSmiULJtW2TVQ4MG70jWnd5+kRkIoljMlh6u+SsmvleDhpIzyzkkRIs1Blq7PKlwP13pv+v0/1+gzrd9eb0of8jsW6wDGDwkuyyroItQIbih06aTMF9z6RoQNgggGcEcuIf+aRZvbJDEww5/MEcw0eRkmHAemTvwTe9z8Z03C32++H+8d4U02Cq1itlgHt4bxRmWJ81vv68HOeOU+6ucqCk9LHVzJGfxfBFW7o/ vjJxmFen GyyX/SkLaiprq99R0MBwEjGDuEVnxbH/hrkwEs79Fezw0p1KVfcnMqnM6M1QBB/hsAd0qiDDwhav/sUKqt2m9aooh3NQiTvJID1rw3RNSpeN3R5AnP42ysJLVSgV6XpaphVx6pxhB8pF/rRUUIVm6qOZlT/EJmIiWHLBLMDK7gnWbP01bTyzNMnd3urMgLT+SBxVkcZpKcJpXRPbkGtmExk35OZxXIuhf2sdDVp29rvJKYiiyrFlZA5IT8g2AXOAucxa8xooI2s6b0l+ohSujLnJ5yRANEMCyLVBfwqX9FVubDGdC2myntDAIg/twBNeLBfgM 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: List-Subscribe: List-Unsubscribe: On Mon, Jul 8, 2024 at 5:43=E2=80=AFAM Lorenzo Stoakes wrote: > > On Thu, Jul 04, 2024 at 02:27:17PM GMT, Liam R. Howlett wrote: > > From: "Liam R. Howlett" > > > > Change from nr_pages variable to vms.nr_accounted for the charged pages > > calculation. This is necessary for a future patch. > > > > This also avoids checking security_vm_enough_memory_mm() if the amount > > of memory won't change. > > > > Signed-off-by: Liam R. Howlett > > Cc: Kees Cook > > --- > > mm/mmap.c | 6 ++++-- > > 1 file changed, 4 insertions(+), 2 deletions(-) > > > > diff --git a/mm/mmap.c b/mm/mmap.c > > index b14da6bd257f..b2de26683903 100644 > > --- a/mm/mmap.c > > +++ b/mm/mmap.c > > @@ -2980,6 +2980,7 @@ unsigned long mmap_region(struct file *file, unsi= gned long addr, > > } else { > > /* Minimal setup of vms */ > > vms.nr_pages =3D 0; > > + vms.nr_accounted =3D 0; > > This kind of highlights my concern about only setting some vms fields, no= w we > have to remember to change this in the right place or happen to know that > init_vma_munmap() will be otherwise invoked. > > > next =3D vma_next(&vmi); > > prev =3D vma_prev(&vmi); > > if (prev) > > @@ -2991,9 +2992,10 @@ unsigned long mmap_region(struct file *file, uns= igned long addr, > > */ > > if (accountable_mapping(file, vm_flags)) { > > charged =3D pglen; > > - charged -=3D nr_accounted; > > - if (security_vm_enough_memory_mm(mm, charged)) > > + charged -=3D vms.nr_accounted; > > + if (charged && security_vm_enough_memory_mm(mm, charged)) > > goto abort_munmap; > > + > > vms.nr_accounted =3D 0; > > Is setting this to zero really needed here? We may be done with this, but= if the > vms value represents the 'unmap state' of this range, surely the number o= f > accountable pages remains the same? > > > vm_flags |=3D VM_ACCOUNT; > > } > > -- > > 2.43.0 > > > > At this point nr_accounted is no longer used, but I'm guessing a follow u= p patch > will remove this? :) IMHO this and the next patch can be combined to remove this confusion. They are both rather small, so would not be a big deal. > > I was wondering why you used that given the gather function also separate= ly > calculates it, but I guess this answers that! > > Generally this looks good to me, so: > > Reviewed-by: Lorenzo Stoakes Reviewed-by: Suren Baghdasaryan