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 C839CE77188 for ; Thu, 16 Jan 2025 04:01:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DC3556B007B; Wed, 15 Jan 2025 23:01:42 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D4C116B0082; Wed, 15 Jan 2025 23:01:42 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BEC926B0085; Wed, 15 Jan 2025 23:01:42 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id A07326B007B for ; Wed, 15 Jan 2025 23:01:42 -0500 (EST) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 5CBEB1A073F for ; Thu, 16 Jan 2025 04:01:42 +0000 (UTC) X-FDA: 83011966044.07.1122F8B Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf24.hostedemail.com (Postfix) with ESMTP id A5E28180009 for ; Thu, 16 Jan 2025 04:01:40 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=2L7Cip36; spf=pass (imf24.hostedemail.com: domain of akpm@linux-foundation.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1737000100; 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=i992rm8C1/UCvO7weCSQEI4NAhrCHTii9zL1nf/uSjE=; b=lWMNsWMzeW0SZYJVyS6SadEOlbh2pXZeALCCeQO7y71m9WAe4gxFw3vuZ39VO7zkZlDQV7 H/OBwVmWiwq6Yv5V0xSdLGE8PRYIcRZ2qkSU/Pbff06bkkyog5MTn6yuYac9FWr/lG9Y6a eOgwV9OH/eCIMy5idZbFcu8rzncIkXI= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=2L7Cip36; spf=pass (imf24.hostedemail.com: domain of akpm@linux-foundation.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1737000100; a=rsa-sha256; cv=none; b=O3O2YcNhJhOZ9siPk5RzrLR06fpJL3I/h1NTJGROqCfxs6/T7kmLCNaX8+fm2WwZ6NFInO ynN4k+X7fLjirFwP/qFo9WZUKwhoJZAmZpyiDCFWbu8eOgLHNuwnA0I5w1qMq+RAsn/PWT z3WsMNGRaGScxLS/LqU8L5FOK+6xAoQ= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id 83F0AA402D1; Thu, 16 Jan 2025 03:59:51 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id F077DC4CED6; Thu, 16 Jan 2025 04:01:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1737000099; bh=/A3EHbhjm/JMu8+qy59CDtweJJn9hEoeX0pag1cKcpY=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=2L7Cip36NIW/dcUhC5QVzFHb+UTkkkvY3aXesgJJ+9ks6EcuuRmneiLYWYY4P+oHN JRsRuOs/8e/4NEX9kDHQ3e57BlkOQ9ArQ/AFZLbCwpic9OXK/2OCMt0KvtjmEk+OEp FqRQwrARMdinpGoAMRlnYvgyVFk4b/yRZPmOpSG0= Date: Wed, 15 Jan 2025 20:01:38 -0800 From: Andrew Morton To: Liu Ye Cc: Liam.Howlett@oracle.com, lorenzo.stoakes@oracle.com, jannh@google.com, vbabka@suse.cz, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm/vma: Add VM_WARN_ON for commit_merge Message-Id: <20250115200138.708adc518dd4f92f4fe7fae5@linux-foundation.org> In-Reply-To: <20250116025005.55846-1-liuye@kylinos.cn> References: <20250116025005.55846-1-liuye@kylinos.cn> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: A5E28180009 X-Stat-Signature: k796d87dok1fho5m4drnz4ch8capna96 X-Rspam-User: X-HE-Tag: 1737000100-723429 X-HE-Meta: U2FsdGVkX1/sNTi05UzPhQBZ6cpUjCVhRmY22GbeDmSZY2Zlbo+JbdgTds09/6SZFYtgehUo39CPVCY2KkjAa2R+DdaYXo+7Zggl7swR/txnERzlUJMt4NJwcXKvB6mXFgrPj81nJS/LAfIWnvML5sPOdID9g77o6k0WbqU2ovPiWZ9IMXWRhQPfKuN3Ayka7LfYjlTpFfPcSzdVN2VJCgwVPO3Co59VeFcRKCuU8zSKTMD0UZfyXei/1rnn9Bl2h0vt3QvCeftI1jysZ3TzCAHkIjt2esi+yBuWoxR7A+2T2U1bI+Ve9Oga85rU6Bu9FhyuSDOSnwcGetkODD2Q3i/cXSyfoO+C6LDOHiTP3dFIJz701wkXXktQ/Szp3mL/SmdqFtmLNLouQWVdnk7wtX2hleBgV2nNZZbnLmozCJ7/BRJkP9y/26Uv3ttMRROvJoIXt18+sedpU1RFowXx8yWZLe6IyGkGPte2hC5p1bQgr0mdYDDozkkYjMDHtH8dLBnUjioFfN51uqqIe5ZqowiXvHaC6pORPrXYDy/4JzsYd3OLA6X517WxbdVRM2e3PqI/npks4J7wezOuMgxILz1ouE5hteX+JVr0X29GzwXWAzDqaiz9JMdE0dber0B5O/4qHwJ8hUFNSZ1f/Ynzai9Z1T74SHK8vC6MFx6jNZfUG66aJpuaq96Hv3aCuw9GxWse1UAzC5BV1zFGMRQBYuFoDoTvT2eppZfTNJFxefTs5xqy46xR2IQYf4F1jg39Y7FoucG1fBYfDTSvds+9JFMhZRVJvoCpR3QjsSC4hthGskArICWZy9dhsTn8BWcH+OptGUA1XPhnVlx2hrgPOlRO4iEgtwZmNsHVs19K/lBQgpUEEmtcZbXmTJdHu0LsFaOQKHqia8kwxbJRLJjtPDvRERby1r3SZci2AkVwBp4wncYftCFF8OtFV+dJWqhKWfLU9g+rEzF7BclzNsp Mj1Fsmeu 3kr9lY8bG53Azlc0Kxg2TSjz8EVrFFkz1esxXdyXGseGJXOPBx6infRBtIc1vpA/xud3RKVT/e349FNsAT+GnujMoMX6gvsaVCpjdTEXHYeefrPxfv9WL+byE45mDtrNC/+n/o80cRZHv7xMCEni8IVMJeZVa39R3zRJJuT8JpApOHbhLzWVNz0UUnvjz/EwUWhSlQmakGu5S9gl9HaicS/pFaDjlo8hRxf/tHIHRC7rekyrrM6aSs50wlPpD+uqTZSojlJlpY4xg7e9K56VXNjs9qp+ymDZlTRnj2ueXmh5Msd4= 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 Thu, 16 Jan 2025 10:50:05 +0800 Liu Ye wrote: > Add VM_WARN_ON to prevent 'adjust' from accessing NULL pointers > when 'adjust' is NULL and 'expanded' is false or 'adj_start' is > not zero. > > ... > > --- a/mm/vma.c > +++ b/mm/vma.c > @@ -641,6 +641,7 @@ static int commit_merge(struct vma_merge_struct *vmg, > > init_multi_vma_prep(&vp, vmg->vma, adjust, remove, remove2); > > + VM_WARN_ON(!adjust && (!expanded || adj_start)); > VM_WARN_ON(vp.anon_vma && adjust && adjust->anon_vma && > vp.anon_vma != adjust->anon_vma); > This won't prevent a null deref. It will emit a warning which duplicates all the information which we're about to emit from the oops handler. Are there any reports of an oops from a NULL deref of `adjust'?