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 F19F7C7EE2A for ; Wed, 17 May 2023 20:23:27 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 28EFC900004; Wed, 17 May 2023 16:23:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 23F3E900003; Wed, 17 May 2023 16:23:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 12D17900004; Wed, 17 May 2023 16:23:27 -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 03227900003 for ; Wed, 17 May 2023 16:23:27 -0400 (EDT) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 8BB1B1C7452 for ; Wed, 17 May 2023 20:23:26 +0000 (UTC) X-FDA: 80800871970.12.681A6F8 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf11.hostedemail.com (Postfix) with ESMTP id 982EA4000F for ; Wed, 17 May 2023 20:23:24 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=Z1HgqTYW; spf=pass (imf11.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 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=1684355004; 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=0EyYAHz4adtoXSCDDWdG4PN+qvr1g517nZLtoxMwsUk=; b=MvDUc/cPOwOt799uFkBHdx6LivEmwZ1k71FMf0N1HQ8qrGZUd/KxxTiTiEprg2EDDKWYNY BMkRyGuOEa2R5uFFXwy5R0wGqxqcn8F8JyGpP65fhjrzld7Xnmi6ppexrKSIziPTfggRys 4kooWDhRoM4jCHc9eiDd2ABC/8j/nhI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1684355004; a=rsa-sha256; cv=none; b=ZVSA4PRHMS/abxTq/9ZleoJaGHVzmslvmBaIqdyg1a1gX815Wt/Ofmo8P37bAqFvodnG3o sl+yebJrOQfqEIVmA6Wm7nw3jh3C74Sp8Fj6Cpb0PZvU5sogygP3cZVJNLVMdHjW3SmQ2X dSnn30dvVhuXLQeC4gjDVmKK/8RIH+w= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=Z1HgqTYW; spf=pass (imf11.hostedemail.com: domain of akpm@linux-foundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org; dmarc=none Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 816B364B01; Wed, 17 May 2023 20:23:23 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 88929C433D2; Wed, 17 May 2023 20:23:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1684355002; bh=AjsQOG0MykYnMxLHdltKAUap2Wv/krluksbvS6JbP6g=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=Z1HgqTYWcr5kftNDrCqxuvLuR40gWmjvgEUFp3xU+PeDg6O6vg2bCYxeQW292QEzd 8wwRCC3aQu12x8lde6UJszuGLHkqI+tb19NUU43qFoD6iQ/Pl7IBRcX69VS2cPYdm5 ohLq8y5Mv3OhHUi2uRx7QJe5gcEPHE1WVI5Y2BO8= Date: Wed, 17 May 2023 13:23:21 -0700 From: Andrew Morton To: Peter Xu Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Mike Rapoport , Alexander Viro , "Liam R . Howlett" , Andrea Arcangeli , Mark Rutland , Lorenzo Stoakes , linux-stable Subject: Re: [PATCH v2 1/2] mm/uffd: Fix vma operation where start addr cuts part of vma Message-Id: <20230517132321.2466ef1ccde9e8d05436e3f2@linux-foundation.org> In-Reply-To: <20230517190916.3429499-2-peterx@redhat.com> References: <20230517190916.3429499-1-peterx@redhat.com> <20230517190916.3429499-2-peterx@redhat.com> 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-Stat-Signature: me3z41eri4nrnhi1mk3su14dipmsbpo5 X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 982EA4000F X-HE-Tag: 1684355004-9154 X-HE-Meta: U2FsdGVkX1+xtQX771iYLOpv/WhaKMcdlUc6fjsNJCyXOcDGsAH+/JEvR1FTqShfbRTNntIqOhWzz45BSBXLs6c2jGGDzd/LZU4tLVKZVkMaNUjx6F2os3AH1c2h/Q6vpfw2ESTl9ozeQ6afhfJy1MsAs06wJMR6+n9zXfMfro5sgbcbr3CWSlNyav/d9YpKAJ24WnOvGxwQh02laR+MDl2B1bqG9SkXWGAbn51SKnhifbFgs9TsaYRCGb+1aGEw6fW42xwuOGUnjN78JSd9DSN717aBxZDDymjqrGJdDX+eWlK3HWR6a0X51zvwfyvrphtRSNlG6fl5YpUoM3G3zCWSKdloJ+6lDJJTnkn0csBhjBXAfl7SWLFm+CTHrfBzu9957ZRYGlZNR1QFKq1yXLMSjzcz0Iy8w2P4YinLYA/r+QfnJL0TNAr8v3kseO5Pk9OrzNnvTuLgYmQm1XyoznS9esbGGa8H3fm1bhfH3QdmHQy31SQVA0s0UprWKvscqaIfWpVqxaa/ANktSosfNs2u7IS8w1fz+J/O5+qRW/TaPTgVUe3g1b5IkWSC+2Q/vwzwDfRakpnqM210MgJ8xXhq2ZgIePSgBlTQcZ4vkh4nkPkiLiKKixSn0sptd7ayTyOUvhEZn2t2pXCrI9ZVySqHbpdh8vdLB8rfeint2UfCOZaViHyg7e7I8RtNIAUnHQElx1fkAqHvsm58Pgz8AUAA/2BreteZf0AGoxiNGfY/47Gk2lN6dOCsMWI5zt7E/ue7KZfyB2Z1h/FA6Ym/FEjSJmntN7XqNjXJ2So2fD/grRWrbvJDVemc+o4K44vRviPut/LV+XvecJifMiTgMyurNb6UedG6aiHSENa3ySjy5BC749RIEpEJDqxPkDaPgKVEh7k+PNSznHoWjhfCICMz1NCwkX03DJJv5vYwVlxrWW1s74IbvhZ70mhPsaJ+E62DWKv8b6mjvlfAUtG 73ysN/pe 7iQu5yusPHODdHk0geNro8VR4IXXDwx0sMcxEwk23PjMmJ6lfgRUlqat4obz1kj8dogYGGy5XSMZi82Qy9jiIh/mkvO41S5TvaKt4qU4KSMPHdkZEgbdj1AFcFd0p1ov8F9r0SCRC0TPvlNTK2YQxAxyQlW/1y+624MJw4yJxPTpg4eL5XXTi3/sZbgwtntHhUOxSgqtCKMPa1huICS1Kh8qXbzqQt9wLIPDGd5TpVjGcEaLu4BSZW+tFOrUaUiLsmg/2V1AhJF5G0jEE2pQEhpV0ZcgmsyU9kfA0046CR6YXJ7GSk0AQrTg2cUXQSNhHSIXNMrrF+ii85IE+oqIIbWtqax+qdvCvw1TCPJnb5udYVrEu3/m1MdquiLhltWQtgrxTV8N81hhUnsJDUyt41vaRzzGFHv53jP0LwZHqL/OaiaHowzUx9t+VZf92Wd2rk0iyv/09Ac7mjb6dFdcWGTglCVJKsRa+10/4eZYHMMpOaVJ7ceElZZQBdhEAwnPa6in8 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 Wed, 17 May 2023 15:09:15 -0400 Peter Xu wrote: > It seems vma merging with uffd paths is broken with either > register/unregister, where right now we can feed wrong parameters to > vma_merge() and it's found by recent patch which moved asserts upwards in > vma_merge() by Lorenzo Stoakes: > > https://lore.kernel.org/all/ZFunF7DmMdK05MoF@FVFF77S0Q05N.cambridge.arm.com/ > > It's possible that "start" is contained within vma but not clamped to its > start. We need to convert this into either "cannot merge" case or "can > merge" case 4 which permits subdivision of prev by assigning vma to > prev. As we loop, each subsequent VMA will be clamped to the start. > > This patch will eliminate the report and make sure vma_merge() calls will > become legal again. > > One thing to mention is that the "Fixes: 29417d292bd0" below is there only > to help explain where the warning can start to trigger, the real commit to > fix should be 69dbe6daf104. Commit 29417d292bd0 helps us to identify the > issue, but unfortunately we may want to keep it in Fixes too just to ease > kernel backporters for easier tracking. > > Cc: Lorenzo Stoakes > Cc: Mike Rapoport (IBM) > Cc: Liam R. Howlett > Reported-by: Mark Rutland > Reviewed-by: Lorenzo Stoakes > Reviewed-by: Liam R. Howlett > Fixes: 29417d292bd0 ("mm/mmap/vma_merge: always check invariants") > Fixes: 69dbe6daf104 ("userfaultfd: use maple tree iterator to iterate VMAs") I don't know how -stable maintainers are to handle more than a single Fixes: target, given that Fixes: means "kernels which have that patch need this one". Can we narrow this down to a single commit for this purpose?