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 9A86EC64ED8 for ; Fri, 24 Feb 2023 22:54:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B69386B0071; Fri, 24 Feb 2023 17:54:03 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B190F6B0073; Fri, 24 Feb 2023 17:54:03 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9B9E06B0074; Fri, 24 Feb 2023 17:54:03 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 891896B0071 for ; Fri, 24 Feb 2023 17:54:03 -0500 (EST) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 534DB404CB for ; Fri, 24 Feb 2023 22:54:03 +0000 (UTC) X-FDA: 80503689966.21.9315BEB Received: from mout.web.de (mout.web.de [212.227.15.4]) by imf08.hostedemail.com (Postfix) with ESMTP id 48FFA160011 for ; Fri, 24 Feb 2023 22:54:01 +0000 (UTC) Authentication-Results: imf08.hostedemail.com; dkim=pass header.d=web.de header.s=s29768273 header.b=NKCbIH6K; spf=pass (imf08.hostedemail.com: domain of spasswolf@web.de designates 212.227.15.4 as permitted sender) smtp.mailfrom=spasswolf@web.de; dmarc=pass (policy=none) header.from=web.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1677279241; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to: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=X6ItjyP9MG8dDWKw11pNbMR3SzEiZVzlKGxqAAkRWYI=; b=PmgrxgHEoYdRpI9zLrV4BnyDvJ4vCdlglkxQJjawxNYfG8woZPI50gBLGE7813uzg6qdp8 6OC7dz5u0WX/l4rALSCUWkMqpSemmVbnJx4RxRti+x4DIA+gzllz6wBX/ykWSHofcqqln8 zk135db/9QvBEJU231+pYsCxipWVG6M= ARC-Authentication-Results: i=1; imf08.hostedemail.com; dkim=pass header.d=web.de header.s=s29768273 header.b=NKCbIH6K; spf=pass (imf08.hostedemail.com: domain of spasswolf@web.de designates 212.227.15.4 as permitted sender) smtp.mailfrom=spasswolf@web.de; dmarc=pass (policy=none) header.from=web.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1677279241; a=rsa-sha256; cv=none; b=0AexfsNXStBADMbzYGjnEmBVAsBA2QNQHxHjW87JjK4DfYZlCFhO5Vo+nKgrdsCJuiyGtN UXHLgxsT4voeV5B3ZIF+Kgf7KmMkeViD7uwyMkMWS+tzcSLXXZJdvCscDOFNF0IfoFnZMk 5HPBaU0u7x6Zc0rxGBuCX7STDE/zO8c= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273; t=1677279238; i=spasswolf@web.de; bh=X6ItjyP9MG8dDWKw11pNbMR3SzEiZVzlKGxqAAkRWYI=; h=X-UI-Sender-Class:Subject:From:To:Date:In-Reply-To:References; b=NKCbIH6KKXLhDvc8/S3a/PxC+lQ2U1MCHMpK3FGV59SkRvvvJIeGxS8veFDl5BCsO DBdkKgH0+zfXy+171G0qZkq56jQiIehA9YphfhSkEDLzj4xQPn1XP7whMuAb3ool80 YYFokR1o/auBLJQSLJHJE8TtiddCnuAE7qWgVR4wAG0S9dd8BaEapcKyZOww9kNhcD 2LJ1fjsS4SpQ8CJfvZlivdctVv1PMV9avAGs9PPBsbHqlMnealXz3Vh12y8IAz1KjO fZJsfPDBtoxk6yZvCPpFhO6TWIwZoWgH0RVJQ0iIE3OOqncMU2Nn1pQKO+wtenBU7H 2GDIKDN+I8qKA== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Received: from [192.168.0.101] ([176.198.191.160]) by smtp.web.de (mrweb005 [213.165.67.108]) with ESMTPSA (Nemesis) id 1MsJP4-1odKFI11S6-00tkRn; Fri, 24 Feb 2023 23:53:58 +0100 Message-ID: Subject: Re: [PATCH] mm/mprotect: Fix successful vma_merge() of next in do_mprotect_pkey() From: Bert Karwatzki To: "Liam R. Howlett" , maple-tree@lists.infradead.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Andrew Morton , linux-next@vger.kernel.org Date: Fri, 24 Feb 2023 23:53:57 +0100 In-Reply-To: <20230224212055.1786100-1-Liam.Howlett@oracle.com> References: <20230224212055.1786100-1-Liam.Howlett@oracle.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.46.4-1 MIME-Version: 1.0 X-Provags-ID: V03:K1:vx1apuPUecev5jKqtZwdxbuUpxxnQMn3OSG8CsWn48OtHiPbUGR cW2IHwwIrqP9woxP3DN3yVLhI/w0brd83zFJUv4+p0p3zzx1+rbQeGQhnFDfv0qJ8SzQaWs TMINqdZRdgs/08SKADWHSJFJJBTaACDZAANQVhdc3+mlrGvaUB+nA3unwfeJvqJVHq4gegS 3MKPsEqqt/tHLzA1j2WAg== UI-OutboundReport: notjunk:1;M01:P0:/D7syJBMguA=;Ygdz90o5sVO60fd2WvwmkXegi0X G63TDnzo8Z6Hk6Z9QqGJw6blXI3UgS81uYluBF2YR8lNg9ebMNLmTsLBX9x7Xdjbz/RcmlhC4 0+AC1YYIln8TGaIuLaRiApB3lFbQc3RNJNEEDQL8rehHEuLqEOgQE1lv+PvQLq0aSgHI0JHl/ t2OgyywYoBgFAE0oy0uRkQJYLW+PJj/DVF/x5688oUkwXNnMkuaX36Xw3HSMYKS4EFnVf2KFM 5WEEo8x5Ed3Isek2V45vQ4met8+SL/wwO9BRyLM4AXzIZV/nRMN+eCOAaLLcW2vHQCtzpfnEr 5AUqk+F0V0AD52PsTOpPz71vktE62RR80JN4iq4jrrJ+wMQjPz/N9ug0lgLwvyAnsSvCu+n+k k5HnRjvb99EqogUNC4bEMe8Nr1oiW9VkPdegSIC28GZTxea5JnZJfLHSP3FonleKLpoZ9Z9ok WtmyX9YESLZuZfELUiQ8lSlDv6qnliW8ihMpTUsC2Ry+M0Tc/yNJRgp9y2aqL5rKlKCWWtTFn 9N3J2W1IMo4Otue+4oUO3k4h/DGjNj/WVMUtTAIwRzTosahIrR0PFr20AZPqTwLh1W5dP8jfh SRWyeNTbW7z+uOPDzdCD3itpNPnA4WQkx8gGHoPtwK2m2bf2hPwbIPzB1AWIdglRqnsEM6mxJ vG13j576zpO8hQCr+xCCt6lgqdxJHPWxGJDBmIspgY7jpeFfpMY0yzT7xJpe6PTptOtmFfX6Y kjIxVIbM0jjt9/+90dXjLUF+/nOsdHgarqy0SbUc9GqI+saG8LYesqQ+Q+Ou+GbilXWG8d2MH f4o3qcIttzmvzUzWIfVT3qfLdcrN41u8aYmtMcldoMtLI+w3nQbdrGCJQg5G1BcUl5g1fAiIy uTtM02uxNcMKvVPrNQZOg0QAQ1zzBH/x+9elv866kjIOLw83MTCSHZzUBg3fMv6kb2NF2e7xG NSY7rqwptzXVNC2p3ATFptqn4qE= X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: tw8fx9p1pqp7zzrerp9zkqa6yp76qc33 X-Rspamd-Queue-Id: 48FFA160011 X-HE-Tag: 1677279241-551999 X-HE-Meta: U2FsdGVkX19fqIqWHnZSmHICdmOt3IFCqruZYO5DQkjIyQjOBeCPYavak51i8+xOZZZ4HNGptQ8n6D0IP/I/+chanyXg8mgz7B44Euyqq3+m9WKy/ofSnYhnRahvwgv+lw3qFM6FVXR7v0WMTz4TxZbao1GptWC+7bfUUoQblHdkNfm5+TZ04QaNcWDUPLHpfBx2Tu0Lm+Edt591Jf64nTR7IPcl13ndzH8PQ+qS67/9uian53kYrqhkmWBAA/4Bys+yI3Gd3JMmQZ1cd9x8FwZ0kYedYn2cwPV+kAE7/kc6cSdKFlr6P8CVwTbn1SaU6sQWfNXgnhe/4ljltFKvZ7uAk2yS/rOtLp9gOINFvWq6Wh9xBUCQ/zlR1Rkgn1C6aSuxyzcSwAX2JErabbzZhPL0frhL877ANnK8Ivksam/Pms6xcn/XXvGdEJ7cLzaHZxY0pjka8Ta7TgFowviKOL1xUlKSbNLbindQBIO9H5LgpvKgvue9EcIXwwkrzedLGNV1bgHXebejLHju1olW6GxttMgHItoERU4RaRmwSZpfzTc8uwees3fej1stEbmMyCvx5G6KEYoHO6yR0pq9VxR4XNHlqpMr/zkJqu/rWJASG0cup8x80bdZc0kQ1S2UeGNTGcQdx5J7I2luibUKcD7Tbv2m2MQO1GwWJMTg1pPG3R4MxH4W+UqphPzV69T1y4jruLhjQVMFsSZvntR3uD6MZ3CxIzAkI0tdU/2Q5o8XBOaMLlukD2hSMgXDEuBKXcGKVbtGypleIHYgb2Zbm3azugd6Fd1Ln5BfYv9EezoobBsL7K+tMHYYLu3vtRRjxh6q1jIfxMe0YoKQjUbgo5BiQhaHyvQi6RAhDzflIH8kpl2akMlnrVyO5jVsV88mntg870Tcbm/a39IdhsAELJaWYObFO53oyY7SMy7fUpmQWG8R5RFbK1qn8b5GpF3z7JuGYJwzamNP2wUeRKq zpxT4n9k 5o3m3WEOEgcOBqAnXoSuRQaYMB3jtu5Yiek8G0SY+9qz+FOKQWUKCkw878u2M4KBVcLMVQa+0CFUt7VHSeFYnvzPK1jIoglB1iO4N9uq1Gsmu73JdU/335+uEqkJrpJwgdLWY6Pvg8kRzfBhJRLNsO9iQpvvNYEpFOcmBDL0LtZldVhmWirdbeudlRahcgYxkBwI3U7sv1muOB9LKfAUvbDXPfgQPp/uvcwVlwOeSPj1heSITU5+W/YizPkjrOTYyyqt4lv+a/4cDsN3qjT1Vm6iB9riXE4C6iAxMukWNVK1Qjj9PsUNYb0Bc24Puj6Flq7LDYpxPuQVcF9jiGYxuv+E1LX6X1/hoETQ9RYEt1RQoX7PXVgdLpPzTP45mvy+MB4mu 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: Am Freitag, dem 24.02.2023 um 16:20 -0500 schrieb Liam R. Howlett: > If mprotect_fixup() successfully calls vma_merge() and replaces vma > and > the next vma, then the tmp variable in the do_mprotect_pkey() is not > updated to point to the new vma end.=C2=A0 This results in the loop > detecting > a gap between VMAs that does not exist.=C2=A0 Fix the faulty value of tmp > by > setting it to the end location of the vma iterator at the end of the > loop. >=20 > Reported-by: Bert Karwatzki > Bug: https://bugzilla.kernel.org/show_bug.cgi?id=3D217061 > Fixes: 2286a6914c77 ("mm: change mprotect_fixup to vma iterator") > Link: > https://lore.kernel.org/linux-mm/20230223120407.729110a6ecd1416ac59d9cb0@= linux-foundation.org/ > Signed-off-by: Liam R. Howlett > --- > =C2=A0mm/mprotect.c | 1 + > =C2=A01 file changed, 1 insertion(+) >=20 > diff --git a/mm/mprotect.c b/mm/mprotect.c > index 1d4843c97c2a..231929f119d9 100644 > --- a/mm/mprotect.c > +++ b/mm/mprotect.c > @@ -832,6 +832,7 @@ static int do_mprotect_pkey(unsigned long start, > size_t len, > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0if (error) > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0bre= ak; > =C2=A0 > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0tmp =3D vma_iter_end(&vmi); > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0nstart =3D tmp; > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0prot =3D reqprot; > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0} I tested this in linux-next-20230224 by starting stellaris from steam (which is the only way I managed to trigger the bug) and it fixes the issue for me. Bert Karwatzki