[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0b1bec54-e45e-408a-a770-3d5bf2cde101@lucifer.local>
Date: Fri, 29 Nov 2024 10:03:51 +0000
From: Lorenzo Stoakes <lorenzo.stoakes@...cle.com>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: "Liam R . Howlett" <Liam.Howlett@...cle.com>,
Vlastimil Babka <vbabka@...e.cz>, Jann Horn <jannh@...gle.com>,
Shuah Khan <shuah@...nel.org>, Julian Orth <ju.orth@...il.com>,
Linus Torvalds <torvalds@...ux-foundation.org>, linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 0/2] mm: reinstate ability to map write-sealed memfd
mappings read-only
Andrew - This is a hotfix for 6.13, sorry forgot to tag the series as such :)
Thanks!
On Thu, Nov 28, 2024 at 03:06:16PM +0000, Lorenzo Stoakes wrote:
> In commit 158978945f31 ("mm: perform the mapping_map_writable() check after
> call_mmap()") (and preceding changes in the same series) it became possible
> to mmap() F_SEAL_WRITE sealed memfd mappings read-only.
>
> Commit 5de195060b2e ("mm: resolve faulty mmap_region() error path
> behaviour") unintentionally undid this logic by moving the
> mapping_map_writable() check before the shmem_mmap() hook is invoked,
> thereby regressing this change.
>
> This series reworks how we both permit write-sealed mappings being mapped
> read-only and disallow mprotect() from undoing the write-seal, fixing this
> regression.
>
> We also add a regression test to ensure that we do not accidentally regress
> this in future.
>
> Thanks to Julian Orth for reporting this regression.
>
> Note that this will require stable backports to 6.6.y and 6.12.y, I will
> send these manually when this lands upstream.
>
> Lorenzo Stoakes (2):
> mm: reinstate ability to map write-sealed memfd mappings read-only
> selftests/memfd: add test for mapping write-sealed memfd read-only
>
> include/linux/memfd.h | 14 ++++++
> include/linux/mm.h | 58 +++++++++++++++-------
> mm/memfd.c | 2 +-
> mm/mmap.c | 4 ++
> tools/testing/selftests/memfd/memfd_test.c | 43 ++++++++++++++++
> 5 files changed, 102 insertions(+), 19 deletions(-)
>
> --
> 2.47.0
Powered by blists - more mailing lists