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 4E3D1E77343 for ; Fri, 29 Sep 2023 22:30:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DD9878D0104; Fri, 29 Sep 2023 18:30:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D88DF8D006D; Fri, 29 Sep 2023 18:30:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C2B7D8D0104; Fri, 29 Sep 2023 18:30:06 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id B350E8D006D for ; Fri, 29 Sep 2023 18:30:06 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 8AA971604C6 for ; Fri, 29 Sep 2023 22:30:06 +0000 (UTC) X-FDA: 81291079212.11.C3A5E58 Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) by imf13.hostedemail.com (Postfix) with ESMTP id BE0AF2002A for ; Fri, 29 Sep 2023 22:30:04 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=SlwMljt4; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf13.hostedemail.com: domain of lstoakes@gmail.com designates 209.85.128.50 as permitted sender) smtp.mailfrom=lstoakes@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1696026604; 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=J4ODyI/xGDfBDr3VSCKLFMfeRUTcBjJWMeC4Qx7RcLU=; b=Oc1kkQ9BwZrvR35QUEzRQI3apNC+0Q8VYPCRmnEa0tXei1mwKJISmzmYyCVZZKisbGZm8o Pqi9QfAhVUB07Z4uA7WAo/wuyYdA+IYmvJLgM34CC4T8QcZ5qTsNUCXolJ6bJ4+d6PGRsw +BYmb2f1eScRkIcDwHK7VOcbIdc2Pl4= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=SlwMljt4; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf13.hostedemail.com: domain of lstoakes@gmail.com designates 209.85.128.50 as permitted sender) smtp.mailfrom=lstoakes@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1696026604; a=rsa-sha256; cv=none; b=jpEDJCNxES/FMHk25Cg8Q1uQ0Y/kZvY4TQOjBQoPQKa8QZn3PiG5Yjf+al986FLA12et1N EytHqB0nVJUEgrn6PoDdkbrS3ZN8pyf/pgyAyw2VA2nc8FRlQjzboyLUVEpHrY32uwM52b 0OfTObd2ySKxQwJmHovCRZ79AUubGgY= Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-406589e5765so15128235e9.0 for ; Fri, 29 Sep 2023 15:30:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696026603; x=1696631403; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=J4ODyI/xGDfBDr3VSCKLFMfeRUTcBjJWMeC4Qx7RcLU=; b=SlwMljt4jTxxYJ9cRqqXbT/ZKgTrjZaMBtBhh+n2CLw21pQUV67jiATboYeapvSpAE 5XLdQjLGK4M/oj7P1c/KYLtPbgvaDr43d6YKxXWjLug9GTUwOCnSY/hylE2+mrDL059D aulKo9+veSpY3J5r8A/jrrOYu1K5sxJ3KUxDY5OJruISPzA4F63NLL+SGowZPxRTZHxv T/YIGL+K4GOOMU6OrAuTz4ATZywXTgUqvj4mdPQzbSlAr1Epa25NlnlCDuLe6vJvxBg0 zW4+vtln0Jw9/MVhqiAspLkKrbu4E5+CEMI3s5WOK4S9x7Pum59vWeWFEaMtV3ngrP93 70vQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696026603; x=1696631403; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=J4ODyI/xGDfBDr3VSCKLFMfeRUTcBjJWMeC4Qx7RcLU=; b=wmcqOlqMAPLaHCNdsmpTuuZURqykn6GRXCj9FthIA2uTFi3cGkVt14fkxyTUvma4X1 ybAuCH9UqXlwyp+elsfu5148xi7Dxa3B7TlDAjTSBLl75ghsDErBXSyRbCfcutSSVgi4 BNgvdaG2xiRScbarf9EaQ5UCWBZmw6ytFmDIGapayBEwXwV6sKx45/CtIQ2CwOq5v+O8 fbYdYy26Wc8X/iQGaJikJXy32KiodjlzHSQBew9HtNsP1RA7IZADPqJrG4BMNbcGhWLf 51iHYQ3bzXX9sSmomt10VBZdOhUJ2Pjb1Pc7W/OzGyC2UC/rggEYKys6F5IAskoGXxiT xJpQ== X-Gm-Message-State: AOJu0Yz+cWyqThegO9sw+FLjMaAq9ik8L0yItjNMKBBzZuEuwD++Ln/W tF1KDLuh8PNMflzQ5ujhzjs= X-Google-Smtp-Source: AGHT+IHMqmbjL3PpGXeDkwNFoF00EDu0jzJQkz1KBQVWnHJGrsmsq8HADGwhMX77DgL3YjXJ+VnqBw== X-Received: by 2002:adf:ea49:0:b0:320:485:7010 with SMTP id j9-20020adfea49000000b0032004857010mr4620006wrn.67.1696026603166; Fri, 29 Sep 2023 15:30:03 -0700 (PDT) Received: from localhost ([2a00:23c5:dc8c:8701:1663:9a35:5a7b:1d76]) by smtp.gmail.com with ESMTPSA id b4-20020adfee84000000b003197c7d08ddsm1555572wro.71.2023.09.29.15.30.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 29 Sep 2023 15:30:02 -0700 (PDT) Date: Fri, 29 Sep 2023 23:30:01 +0100 From: Lorenzo Stoakes To: "Liam R. Howlett" Cc: Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Jann Horn , Vlastimil Babka , Suren Baghdasaryan , Matthew Wilcox Subject: Re: [PATCH v3 3/3] mmap: Add clarifying comment to vma_merge() code Message-ID: <1c7c1869-ef9c-487f-9c8e-08a51d9f8efe@lucifer.local> References: <20230929183041.2835469-1-Liam.Howlett@oracle.com> <20230929183041.2835469-4-Liam.Howlett@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230929183041.2835469-4-Liam.Howlett@oracle.com> X-Rspamd-Queue-Id: BE0AF2002A X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: 6upmtt4736qatt8644b7euy16kyt4fof X-HE-Tag: 1696026604-635 X-HE-Meta: U2FsdGVkX1+19pUURjdEdzlbw5X7DiT5gyWwffFxt0of5M8tTxfqQJDbuulyptqZmtJb4NTgHNrkclklXNVTqovtEQGmIs14t9/UfnF9QSJb7vbhw7STS9Y9cYVebqNuU47GgbB69ENWzxJqapRlF8lSgTCCnNOE9OCLsECzgcdYgwaGlXQD18ljqnCR/YZuNF/PsBVoxbs/VkJI+XUj9PnImHrtg4wGKCSZfB2y0G0rcqdsiDnso8l093Njj5ZEn831gPwpEm440LQ0botZZWHIUN3tSFfMuST7FV85LvttLMvVwpyvK4ZcUjusftgXHUrZWRxni860ZFXqvszj/mhQfDD660XOkpC6takUPpbHC/5y72+R03eHfPXwzNL69qiSFmHcXL3VLxSAknsXkoczXXIfmJsKhZbzSbCq90bnmdfhdU8oGMM1WWH8cPsnrGrJV46dJ3Vr+lkTlWJ/37kPwMDfu15C0PqCDu9hLdNyBjpdQR6YtDHN2LY7XkUSMfKjzwkmAQvt6JjO6fKqFAC7B5X5UWVXHDh8xpIq8uXU6N/np0vskUeVDI8QbA2TQenTrQjHt91qgicjgL8HmoomzeoIcnuw99cjGoZ0TY2RaOvYU/GhzJLwL71uzBqXH6gT2Z1o/xgsYkcMxWFwih5dmcbc5c2MXTnof9fZDA9FzT+FgdLfEht6kwAqIi36RTMzzEVDIUu77BzfdZPDmSw0tbMR24nDIb2uH9PQ9nCvYR5/ot9yc1US3DPK6nO0u4Btk2Mq/UlbFvgIMOQNJueMZr3r8FtdKasgT0S+nJmZ1dO0Jw6EtvU0BMfkl1fdyP1XyOaMBLrTJ3uEjifsQPDksj+S0/+wYw+66wLZJCmKCmWfUNutLiEYN+o9yuYDBUaHbm0NYgRIY7JxctW4+8hv89RR7DHOKqMjLgDKYG3R5tPaUEgn91Uu/SIcV7iXzgkDSk8hbbZkocPa7Gi t9kOb/6B NUSbaZ+QhxO0W2vOfhwV/PSjYuC4siZ5ZJlmDrNyvqFkP8eBcVFSauLFgy/uqw6n5oFG+MsdLkHrN7nuQv9nEIGF3jS2UGQ/EJ+BCAi71+5q/Rt581Sv3vz8Aig1RehhF8UV3XeuiIqJ1dnylRQzy10FeFZHnsCA9S4qnP3UWCSL/Vtn0Es9ojvX7gYCi+npbCP6FPXqOJwlp0OvZHjK+6Dm6XDEuV0ggqvb9DQJyO22fvZ2saXGnEldt8FZLuqgnzkx1FHHkBOTAI/H+iPLD14fV09qJS/ILFzbqH2YLsHAQNvIuJdJtB09NNvndF8ybq9+has9yI0aVnpyILclVMuH2621Vcs2tLGMWZWuhY03sDv0kOfF2vYcKzKcYv4lqKjt7CgQ23xUb4zg1GqfLMt390YiMKQYgn0FiuVguSUf0dl9y/Nad5GDz+qVS6pDIawykMvh9okvapKFLZZwlxb5g0EmfT760lQZQ/w0dzfcZK3IUMthz7Ej/Hbu/BcF6ZGEP/O1Uy6wrzeOw59/5/pPIQzg268FqpsdsapmP16FPEl24eu0ibwLAph/u4iVN3haN 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 Fri, Sep 29, 2023 at 02:30:41PM -0400, Liam R. Howlett wrote: > When tracing through the code in vma_merge(), it was not completely > clear why the error return to a dup_anon_vma() call would not overwrite > a previous attempt to the same function. This commit adds a comment > specifying why it is safe. > > Suggested-by: Jann Horn > Link: https://lore.kernel.org/linux-mm/CAG48ez3iDwFPR=Ed1BfrNuyUJPMK_=StjxhUsCkL6po1s7bONg@mail.gmail.com/ > Signed-off-by: Liam R. Howlett > --- > mm/mmap.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/mm/mmap.c b/mm/mmap.c > index f9f0a5fe4db4..9967acbd070f 100644 > --- a/mm/mmap.c > +++ b/mm/mmap.c > @@ -943,6 +943,11 @@ struct vm_area_struct *vma_merge(struct vma_iterator *vmi, struct mm_struct *mm, > vma_start_write(curr); > remove = curr; > remove2 = next; > + /* > + * Note that the dup_anon_vma below cannot overwrite err > + * since the first caller would do nothing unless next > + * has an anon_vma. > + */ > if (!next->anon_vma) > err = dup_anon_vma(prev, curr, &anon_dup); > } > -- > 2.40.1 > Nice comment! It causes me to sick up a bit in my mouth that this is a thing, but it's good to have it documented. Reviewed-by: Lorenzo Stoakes