linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] mm: assert mmap write lock held on do_mmap(), mmap_region()
@ 2024-12-12 11:48 Lorenzo Stoakes
  2024-12-13 14:06 ` Vlastimil Babka
  0 siblings, 1 reply; 2+ messages in thread
From: Lorenzo Stoakes @ 2024-12-12 11:48 UTC (permalink / raw)
  To: Andrew Morton, Liam R . Howlett
  Cc: Vlastimil Babka, Jann Horn, linux-mm, linux-kernel

Both of these functions can be invoked outside of mm, so it is probably a
good idea to assert that the required lock is held.

Will only have an impact if CONFIG_DEBUG_VM is set, otherwise this amounts
to no change at all.

Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
---
 mm/mmap.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/mm/mmap.c b/mm/mmap.c
index df9154b15ef9..43ef85028921 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -291,6 +291,8 @@ unsigned long do_mmap(struct file *file, unsigned long addr,

 	*populate = 0;

+	mmap_assert_write_locked(mm);
+
 	if (!len)
 		return -EINVAL;

@@ -1023,6 +1025,8 @@ unsigned long mmap_region(struct file *file, unsigned long addr,
 	unsigned long ret;
 	bool writable_file_mapping = false;

+	mmap_assert_write_locked(current->mm);
+
 	/* Check to see if MDWE is applicable. */
 	if (map_deny_write_exec(vm_flags, vm_flags))
 		return -EACCES;
--
2.47.1


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] mm: assert mmap write lock held on do_mmap(), mmap_region()
  2024-12-12 11:48 [PATCH] mm: assert mmap write lock held on do_mmap(), mmap_region() Lorenzo Stoakes
@ 2024-12-13 14:06 ` Vlastimil Babka
  0 siblings, 0 replies; 2+ messages in thread
From: Vlastimil Babka @ 2024-12-13 14:06 UTC (permalink / raw)
  To: Lorenzo Stoakes, Andrew Morton, Liam R . Howlett
  Cc: Jann Horn, linux-mm, linux-kernel

On 12/12/24 12:48, Lorenzo Stoakes wrote:
> Both of these functions can be invoked outside of mm, so it is probably a
> good idea to assert that the required lock is held.
> 
> Will only have an impact if CONFIG_DEBUG_VM is set, otherwise this amounts
> to no change at all.
> 
> Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>

Acked-by: Vlastimil Babka <vbabka@suse.cz>

> ---
>  mm/mmap.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/mm/mmap.c b/mm/mmap.c
> index df9154b15ef9..43ef85028921 100644
> --- a/mm/mmap.c
> +++ b/mm/mmap.c
> @@ -291,6 +291,8 @@ unsigned long do_mmap(struct file *file, unsigned long addr,
> 
>  	*populate = 0;
> 
> +	mmap_assert_write_locked(mm);
> +
>  	if (!len)
>  		return -EINVAL;
> 
> @@ -1023,6 +1025,8 @@ unsigned long mmap_region(struct file *file, unsigned long addr,
>  	unsigned long ret;
>  	bool writable_file_mapping = false;
> 
> +	mmap_assert_write_locked(current->mm);
> +
>  	/* Check to see if MDWE is applicable. */
>  	if (map_deny_write_exec(vm_flags, vm_flags))
>  		return -EACCES;
> --
> 2.47.1



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-12-13 14:06 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-12-12 11:48 [PATCH] mm: assert mmap write lock held on do_mmap(), mmap_region() Lorenzo Stoakes
2024-12-13 14:06 ` Vlastimil Babka

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox