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 3EE5FC3DA41 for ; Wed, 10 Jul 2024 16:06:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 94BB96B0085; Wed, 10 Jul 2024 12:06:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8FBA66B0088; Wed, 10 Jul 2024 12:06:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7C3136B008A; Wed, 10 Jul 2024 12:06:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 5DF5D6B0085 for ; Wed, 10 Jul 2024 12:06:31 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id D035CC012B for ; Wed, 10 Jul 2024 16:06:30 +0000 (UTC) X-FDA: 82324320540.06.ECD997F Received: from mail-yw1-f181.google.com (mail-yw1-f181.google.com [209.85.128.181]) by imf03.hostedemail.com (Postfix) with ESMTP id 0F19E20005 for ; Wed, 10 Jul 2024 16:06:27 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=02FfpIbQ; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf03.hostedemail.com: domain of surenb@google.com designates 209.85.128.181 as permitted sender) smtp.mailfrom=surenb@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1720627564; a=rsa-sha256; cv=none; b=0Ksloi2pzeiYPnmxHS4L9uL478dQ6ou2jBHWPvUB7w348sWausL0m5m2VOe09uTIRbtiLb EADwIf3hxuK5Ws2smPtsJso6JxlNy9CHPg5NZw0WDZrCD7GixUVYXjOc3WmCeO6TDyl89Q 2KB02Q4GvfeHmyzcEZjuaaWgx8ct/FE= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=02FfpIbQ; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf03.hostedemail.com: domain of surenb@google.com designates 209.85.128.181 as permitted sender) smtp.mailfrom=surenb@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1720627564; 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=zlF5Rn3ADWw5/OD0itHw0bD7+qNVXupDZOEmt04jgJ8=; b=H6PIYnkdKQ3HXrsHrBz+/mPUlTkcge1nYVvnc+jSJMtlgSAH1bmznUaGZLIvH7vMq/cUM0 slYd4sqttDEUdBM7QtqsuhvpDuYEq7Ox6yMnzbvAWFcyKX/wqJpoXq0K8CtUf8XsXUKVMw sEDX87gJOfCbe3/vZlgAcQ9oTrmMujE= Received: by mail-yw1-f181.google.com with SMTP id 00721157ae682-651da7c1531so60717107b3.0 for ; Wed, 10 Jul 2024 09:06:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1720627587; x=1721232387; 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=zlF5Rn3ADWw5/OD0itHw0bD7+qNVXupDZOEmt04jgJ8=; b=02FfpIbQkEWz7mA8Y/AYIonsYHcod7U+yCidOb4Ia9H2YbxqdLrmH061nmBhCeQ/1B UfFvOCSONE+A0mTpFDYzmcI2satDMzbvHp9ttbo3SwSL3RikXB0QjRXEVn+M+IFg4Ztm pPLw45nUZHb/TrNyqzxSbLB/bvB93iRKslEmwRei3Q7XiaKOj1Lo3Y6ioIH5W8KgWrWX syuhQrHPF5WFTia/sAYFYGc8Z0EKE3cIFzfGwf7Xrvwh0JIb2UCoLXiWHAR4+J2GEWLb 67lIC66S3fjvz7G2CSoPrqo3GOmdtyvW2qzqrGTVNNtfu2kA40lQB43s8yOcadhHcDqf ERiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720627587; x=1721232387; 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=zlF5Rn3ADWw5/OD0itHw0bD7+qNVXupDZOEmt04jgJ8=; b=wcSwpJ49iR6Ip7XEs/dSz1tNbSb8LgxB5KP6C9S9n52WjexBi8HEK7z6EqnOEzHpE6 WDjMAbNc2UqSssZ+L5u3qn/6NiOfAmLeDeqzFhV1tomREdWG1jPqBKXotZu3TNVBlIs9 pmsVXOsFRqq1RW7thh+ZyH3BYM9G4FGzHc2PXshIkyKDbM+ee0KSvMPTs3kLjXqpHI0g CTEeIcU/Z/tcPibpRW12cem+mt7URfHaAVOUc9KJYn4f54px69Q1g2kcv+WljQ3q4tcn IA5zNF5KbIK6KjyjqCPUYM9eXVB5Ypi/yaZRPfAfYg44w9M/sO+B1Js9quO7D5SIe9JI mwHA== X-Forwarded-Encrypted: i=1; AJvYcCX2r/bqIgoO1m5qALOjOU8T5GTT4W2q1jkq5qAYrJKA/053H6CqBJ33xc3zfQks41MMPrdLXgwyRxBesCKNfOA/uzU= X-Gm-Message-State: AOJu0YzarOkpkKDbsx2TqCVPcqAjbi1p58E9ZasT1QltMqz8XLpLhqB0 GeOV50g7V9hKqw445hzX4VW7UQ4kmZO9OjruWD1G3SzHnz9cGlFjPx7QQ+B0M2/s29bsoxXSs/i 6e/OAaybkCCx2Fj+BEiw+SZpC4a5RRtEVGUbh X-Google-Smtp-Source: AGHT+IH6BAu3tEa7bMrRM+yyA+9N9JUHSbvvBrnpdQl+cK4blUIFsPDTKGfLnvg/2h7lsnhKsZCrOpwdf76FpytT15A= X-Received: by 2002:a81:ae25:0:b0:64b:7bf3:cf93 with SMTP id 00721157ae682-658f0bc6224mr67409727b3.35.1720627586768; Wed, 10 Jul 2024 09:06:26 -0700 (PDT) MIME-Version: 1.0 References: <20240704182718.2653918-1-Liam.Howlett@oracle.com> <20240704182718.2653918-8-Liam.Howlett@oracle.com> <0699b053-607c-4230-8fbd-e7515fd8454d@lucifer.local> In-Reply-To: <0699b053-607c-4230-8fbd-e7515fd8454d@lucifer.local> From: Suren Baghdasaryan Date: Wed, 10 Jul 2024 09:06:13 -0700 Message-ID: Subject: Re: [PATCH v3 07/16] mm/mmap: Extract validate_mm() from vma_complete() To: Lorenzo Stoakes Cc: "Liam R. Howlett" , linux-mm@kvack.org, Andrew Morton , Vlastimil Babka , 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-Rspamd-Queue-Id: 0F19E20005 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: x67oxrs8pgzqrgj35bk4ip66945m8wot X-HE-Tag: 1720627587-532902 X-HE-Meta: U2FsdGVkX1+rjdQMcFPtKfCAVe62jk5EyjbvblXDppVax4ex9qycFzncRPe0t+vKOUhTEdNASQOSES2X0Jw6HjUGweJ6FzvJ4TvhUyqOTr4Bm/chY2YD+tlnocRPYKbwW8TUFI/zXvIvUH7chVOOmZHQX1mqkGHHFgA8UFwGuMaBG4XVVsLRCkbWP0UoKGfAF8jFoawYL8TMgFXvhoL8H9ARNv5hAVL8c+WvqobfOCuQ50e2YQiD2QVtPwPc0E8CSZIXPtJvsJI8hdzAPTierhDgtHfOfL701x2KN4SfivvByg6n+9injGD6Y9d6LINok8UMq9GOujtCVvhBT4KB+lM8M9PJ+LTAqimfjsfIaHXWrGZYydFB7cM7nAcihlF9m4OM7tEWsm+Y4T0H9RVraQusRUjX7hmmCHSL9614RvY+qBczpYUYrG9Oz3dgy5xwFNzwQxlf143B5qUN23JRKU4n/UCjYXlWenbPdrOjOnwTqnTjoeK3PoXlQHY+BPOY8Sc9z7X8aYvJudBiPf1z/2Wk3sqNlyVZUTLjDIL6XEXR1Xt+x1t1FbsY4xUnq99665+ibtBZi8dhsblXke4YjbHX3nTKx60RW6zBgreGDBRmUIjvZfp650AC/8vp2x1/GP+FqZaOy8cz1SZFQiW+GPlDLBWozSCJK/beBajUn7pTXcIxF0S+ndWgMTkZ7K+cvZGI7LZN+nW+USv7Ls0O0vUmEGnxboMNFVdmDJ/o0Mev+76lqUA/NLUcKhjAO7su0lunrmKRPD7a/es5OqDz0eJdQnideKfA+gtjSTwNwx64Bo5GJtSwioFs1BT/bKV3xg5S1l6sMfX4AaC4LXp8PTWr9QkKobLUilj7ZHK/LqJemz/yPiE34J0xp2qLUHMKhRoxn5XvMa4C6vKgM1hLXIsun6pq9tZ5WmmAvGLjQcxjo26ahcC5d36le/NzeDdii6SZdkgKId/UK/M1Ciz M/2eAiw1 IvLGRlTOfXUxvGgnFqsVXJ1QowmsTVnv9l3qNNk1NHldT7tun83p12z1+Ga6Zmq6lzqSAQiLHaDUoBFjjYYae57eHxe0wyYCiuk8OsP4UKd5iZf9XTHhiNGhya0L9z2DDcwpj7uTECed7i71x/PICEJ+X6J4bYwTP+aCl8lzxFYKBtz273J4x6teVnCZE408Fk+jbWW6zepd6+UdmaBjmmr8zLs7vAuPbQBl4HIw8zdyCxSygz+tvmNyY0wJVkjdOQj477ml8PxwTNVk= X-Bogosity: Ham, tests=bogofilter, spamicity=0.006036, 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 Fri, Jul 5, 2024 at 12:35=E2=80=AFPM Lorenzo Stoakes wrote: > > On Thu, Jul 04, 2024 at 02:27:09PM GMT, Liam R. Howlett wrote: > > vma_complete() will need to be called during an unsafe time to call > > validate_mm(). Extract the call in all places now so that only one > > location can be modified in the next change. > > > > Signed-off-by: Liam R. Howlett > > --- > > mm/mmap.c | 6 +++++- > > 1 file changed, 5 insertions(+), 1 deletion(-) > > > > diff --git a/mm/mmap.c b/mm/mmap.c > > index 2a1a49f98fa3..8d9be791997a 100644 > > --- a/mm/mmap.c > > +++ b/mm/mmap.c > > @@ -646,7 +646,6 @@ static inline void vma_complete(struct vma_prepare = *vp, > > } > > if (vp->insert && vp->file) > > uprobe_mmap(vp->insert); > > - validate_mm(mm); > > } > > > > /* > > @@ -734,6 +733,7 @@ int vma_expand(struct vma_iterator *vmi, struct vm_= area_struct *vma, > > vma_iter_store(vmi, vma); > > > > vma_complete(&vp, vmi, vma->vm_mm); > > + validate_mm(vma->vm_mm); > > return 0; > > > > nomem: > > @@ -775,6 +775,7 @@ int vma_shrink(struct vma_iterator *vmi, struct vm_= area_struct *vma, > > vma_iter_clear(vmi); > > vma_set_range(vma, start, end, pgoff); > > vma_complete(&vp, vmi, vma->vm_mm); > > + validate_mm(vma->vm_mm); > > return 0; > > } > > > > @@ -1103,6 +1104,7 @@ static struct vm_area_struct > > } > > > > vma_complete(&vp, vmi, mm); > > + validate_mm(mm); > > khugepaged_enter_vma(res, vm_flags); > > return res; > > > > @@ -2481,6 +2483,7 @@ static int __split_vma(struct vma_iterator *vmi, = struct vm_area_struct *vma, > > > > /* vma_complete stores the new vma */ > > vma_complete(&vp, vmi, vma->vm_mm); > > + validate_mm(vma->vm_mm); > > > > /* Success. */ > > if (new_below) > > @@ -3353,6 +3356,7 @@ static int do_brk_flags(struct vma_iterator *vmi,= struct vm_area_struct *vma, > > vma_iter_store(vmi, vma); > > > > vma_complete(&vp, vmi, mm); > > + validate_mm(mm); > > khugepaged_enter_vma(vma, flags); > > goto out; > > } > > -- > > 2.43.0 > > > > > > LGTM > > Reviewed-by: Lorenzo Stoakes Reviewed-by: Suren Baghdasaryan