diff mbox series

mm: assert mmap write lock held on do_mmap(), mmap_region()

Message ID 20241212114841.55185-1-lorenzo.stoakes@oracle.com (mailing list archive)
State New
Headers show
Series mm: assert mmap write lock held on do_mmap(), mmap_region() | expand

Commit Message

Lorenzo Stoakes Dec. 12, 2024, 11:48 a.m. UTC
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(+)

--
2.47.1
diff mbox series

Patch

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;