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 D527AD5B154 for ; Mon, 28 Oct 2024 21:05:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 672FF6B00A3; Mon, 28 Oct 2024 17:05:42 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5F9A36B00A5; Mon, 28 Oct 2024 17:05:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 44D4B6B00A6; Mon, 28 Oct 2024 17:05:42 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 1FE086B00A3 for ; Mon, 28 Oct 2024 17:05:42 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id D6FB51603E2 for ; Mon, 28 Oct 2024 21:05:41 +0000 (UTC) X-FDA: 82724240886.20.33373A7 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf17.hostedemail.com (Postfix) with ESMTP id BCB6740004 for ; Mon, 28 Oct 2024 21:05:21 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=oBUmn9j9; spf=pass (imf17.hostedemail.com: domain of broonie@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=broonie@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1730149329; 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=lpvuxggg2hZ1NISeAeILUEGi1GT1MZ/GywcTb68Xrso=; b=Todmz6vvd0/paaAUbOHo/tvofOOz2ckbWbFLziBQwQbzzb3mlZ8d4a2do48Bw0BTzvGG1O co1VXRGWje3n8OR/+7/hYG+lagV3DHps5jUdCrg3hwjaI1yf8o9CUUwMtNEfx/VMrssSu2 wIQ8v+IkPy5IFBXHuWJ1pU4VLmLBExk= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=oBUmn9j9; spf=pass (imf17.hostedemail.com: domain of broonie@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=broonie@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1730149329; a=rsa-sha256; cv=none; b=3QU4KoGvEPvCK9uFALmf73LEgQrwW+HvijOWD/7i1f6U7iVg5dIr73n5qM1VKoOfOdKYVd HQ7XG3TmBy8o10XFrge0NpCIs7szoIEQoY8vHPYdgSm3HOXu0VXbg92SzyLyWxKnaUmBy4 DycPY4KXXJR0eieQq+m6j2NwBJzFMgU= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 25CF25C5B0D; Mon, 28 Oct 2024 21:04:54 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3440AC4CEC3; Mon, 28 Oct 2024 21:05:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1730149538; bh=jSREJ7Vl/o+COTD1EEPwv67TR+VkaOCYrWUpvL9ukks=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=oBUmn9j9Y+PRaVYQCasQncMKxmL+hWaAtwv+egQ0g6kcZ6hFFjEFIhVHx9CFoAUt3 EigaqFyJCHORXAatM5pOdygAa+d80mA3Pdeid45b8co8LnBoUM3DuleeHRb8yRsTgK SZG++pY1owDVpgA3wRxYnsayqJbkPD8IJigeXEEgnWRWUxdRvxbUElMtYoMdJddQcg zuF3h7tgxKpMwMxGPk0Dx9Fs0SgSxoFqs2uUZ3a8ZP2F9JJjUVmJQIylZY/g9TJOaQ omHKQ7BwvoGb8jnYElL0AqhF0K//6gFAICjcXmpOGKfSn+pFa64lslrKkaMAB4FI+o LuolpX99WNJxQ== Date: Mon, 28 Oct 2024 21:05:33 +0000 From: Mark Brown To: Lorenzo Stoakes Cc: Linus Torvalds , "Liam R. Howlett" , Andrew Morton , Vlastimil Babka , Jann Horn , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Peter Xu , linux-arm-kernel@lists.infradead.org, Catalin Marinas , Will Deacon , Aishwarya TCV Subject: Re: [PATCH hotfix 6.12 v2 4/8] mm: resolve faulty mmap_region() error path behaviour Message-ID: <91d9f81c-b971-4764-8f21-4011023628c0@sirena.org.uk> References: <6e8deda970b982e1e8ffd876e3cef342c292fbb5.1729715266.git.lorenzo.stoakes@oracle.com> <61461dcc-e455-450d-9c01-5465003fc31c@sirena.org.uk> <438f50c5-8b8c-444f-ae85-10e5151f3f24@lucifer.local> <57mgmdx7wgfwci3yo3ggkmcnm3ujamgkwcccm77ypvmer5tegn@opiq3ceh2uvy> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="30okYTcXzfb7tVuJ" Content-Disposition: inline In-Reply-To: X-Cookie: Remember the... the... uhh..... X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: BCB6740004 X-Stat-Signature: ysntx6pqptindrm4owpzxefmpig5mwf6 X-Rspam-User: X-HE-Tag: 1730149521-660181 X-HE-Meta: U2FsdGVkX1/dMMFzjtpCZPopkpHOco+eptEoliPfcDTTW8cuCJf8mxci4Z+XAyVrhVcWjWstqbxU+3A4NB6SCzqAc4sDEwO3a1UhYKER8cPbrnW+VDzg6bjnGHP+8zpRJXVZj/npqjmCjzxv8Rh8iOAKK4LSrRk+1Lg2XQPAQRwn2XnRnunK2k3mJRuoH+D75qij5whavjKtNgYWD1s1vQyPPhAxM9GJ8Kbb/VwtZ4KcHnZorbgMffFi3H0PBpccdTZ5FJ2+cUqVyXWzmigmpoQVn/sDgIsu+OUGDTgGBvNim2ifGxxKdWLGP2etkp0+wpbB/cF/W04y0uzkLrgta8oek5NUfy0lB+MPhGHONrLe1H9O/PU3VomBOkPikESWFkD59DSSGHIsd2hRXfoOptp1TjKQvf668inwV9xLkthA6tWVhdd0wgOSQIzdaPTWsLlPZUosCJ31kDQxoqwcoh7NrL4zi2nnjmOW3QZS2CVobhq1Ao/lEJpSN7OPvCAqGuozTY5H4Y5pkJSeUM8gDHMpP4n0GOKytk9s7g0s/1I69TetyFArTCJCePrbuVyFZ69KASXQO5UYwGLFkjzVVACLqzBCEEoL65hN8Wtz9kfiYP5V8elEOZ8HbA/WNocsJqYEhKnLayGGhByHnSYApTwuvXonr0pBjo2zztHQ5yATcaSWc3ZTxCRrw2AN6Qzqt5ZDdxDEisifbm5PWx1N9z7SNPa4/8em6vp1hnIg5vRtq2Aampl9NQe2esXTcx4ocZjWqrnCQP2L6ysdvL8X6LFBW4iTCD91IXqpOYZuIJI4I8T5bNuEvGvUMqEcQMPy/HZys6or8bYphSiKvn9COQFoi+TyrgrFSqed0aI5kRHhwwHnJgbCSiHMjyJYfePEuUy5etTguX27gu2QZLS4rIinnnLWNup1tiYTEZ4b/H0GAt3MFRgXl3YbR0py2/COzLsPit468bQEvVR0mN8 qj+7Ihxn Iv5QS7AiZXAfSqme79lbtIdm/Eg7hlwgEuXWY8xKAs4tJy8/8gjD+UlBZman1i0ra0LFF+iJCOC2umK+X2cKEXggvk03FpUAxrJ3WNO6ioZPpy9+ygdZwj/aoPcAWrIKEcBQPc8JAz3/xOk9ue9tDenQA8nnTbBAwkW2RiLUE0NkPZDt5J5j2gsaWMh4xfTpV9a81lZPjkT9otN5fCuZoUsdQpoC/39UCvgQmRsDSJ71M8WZuIUgfQaUQr3spFMMlig/adWKGLB++86qIxwaqsOTMxHGxyDRGr3klhKAy2rWhNaHf8KA/pYPyCFSckNXEvIWryWpyr687sd60rvDk3k+4GJzHr0kgfEaqAg/k/Uwg2xkr9fgvMYsmLQWP+riSAtzX 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: --30okYTcXzfb7tVuJ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Oct 28, 2024 at 08:43:08PM +0000, Lorenzo Stoakes wrote: > +/* > + * We check VMA flag validity early in the mmap() process, however this = can > + * cause issues for arm64 when using MTE, which requires that it be used= with > + * shmem and in this instance and only then is VM_MTE_ALLOWED set permit= ting > + * this operation. > + * > + * To avoid having to tear down a partially complete mapping we do this = ahead of > + * time. > + */ > +static vm_flags_t arch_adjust_flags(struct file *file, vm_flags_t vm_fla= gs) > +{ > + if (!IS_ENABLED(CONFIG_ARM64)) > + return vm_flags; > + > + if (shmem_file(file)) > + return vm_flags | VM_MTE_ALLOWED; > +} This doesn't build: mm/mmap.c:1595:1: error: non-void function does not return a value in all c= ontrol paths [-Werror,-Wreturn-type] 1595 | } | ^ with that corrected: diff --git a/mm/mmap.c b/mm/mmap.c index d1ab4301c671..cea051c5fef3 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -1587,11 +1587,10 @@ static unsigned long __mmap_region(struct file *fil= e, unsigned long addr, */ static vm_flags_t arch_adjust_flags(struct file *file, vm_flags_t vm_flags) { - if (!IS_ENABLED(CONFIG_ARM64)) - return vm_flags; + if (IS_ENABLED(CONFIG_ARM64) && shmem_file(file)) + vm_flags |=3D VM_MTE_ALLOWED; =20 - if (shmem_file(file)) - return vm_flags | VM_MTE_ALLOWED; + return vm_flags; } =20 unsigned long mmap_region(struct file *file, unsigned long addr, the relevant tests all pass for me. Tested-by: Mark Brown I'd have expected arch_adjust_flags() to be something overridden by the arch headers (probably like arch_calc_vm_prot_bits() and friends), but if this is juat a short lived fix it's probably not worth the trouble. --30okYTcXzfb7tVuJ Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmcf/JwACgkQJNaLcl1U h9Cc7Af/aNeZKhCpi9WJcdYq9a3seoFWXO0Wh8lqOYlCIQBfxm+Y6ccCbS6kLiGc f8sGnyhIrPFULEy32UIKW/+4j3V9hrOiSLzqxwZPhFk7jiiXyeUiB2+ysFlwQBQS oM3cpTjdRGJh0KbskC9tV6oSr7lI2lZDQen5Uca/ZLIY92wT2cJpyXl5967J2T8r 7gH7ft7wtwHPc4BLdaVinER6exeKFc8ulT4DvgkLTEoWIbKY1cvPGSDLKgzp8P/Y 1z591P9PPF/CeSW2pyv40Oz+o0ywyAQAYYpRypIV8ClNn+y1JUd3wGPiNSYQtt7G j2jMvOVNQ0ArYO32KNoj714a1Uz1ZA== =pBTn -----END PGP SIGNATURE----- --30okYTcXzfb7tVuJ--