diff mbox series

mm: use mmap_assert_write_locked() instead of open coding it

Message ID 5827758.TJ1SttVevJ@mobilepool36.emlix.com (mailing list archive)
State New
Headers show
Series mm: use mmap_assert_write_locked() instead of open coding it | expand

Commit Message

Rolf Eike Beer March 28, 2022, 8:24 a.m. UTC
In case the lock is actually not held at this point this also avoids a
stale lock reference if built with NDEBUG.

Signed-off-by: Rolf Eike Beer <eb@emlix.com>
---
 mm/mmap.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Christoph Hellwig March 29, 2022, 6:36 a.m. UTC | #1
On Mon, Mar 28, 2022 at 10:24:51AM +0200, Rolf Eike Beer wrote:
> In case the lock is actually not held at this point this also avoids a
> stale lock reference if built with NDEBUG.

The change looks good:

Reviewed-by: Christoph Hellwig <hch@lst.de>

But I don't think NDEBUG is a thing in the kernel.
Rolf Eike Beer March 29, 2022, 6:45 a.m. UTC | #2
Am Dienstag, 29. März 2022, 08:36:39 CEST schrieb Christoph Hellwig:
> On Mon, Mar 28, 2022 at 10:24:51AM +0200, Rolf Eike Beer wrote:
> > In case the lock is actually not held at this point this also avoids a
> > stale lock reference if built with NDEBUG.
> 
> The change looks good:
> 
> Reviewed-by: Christoph Hellwig <hch@lst.de>
> 
> But I don't think NDEBUG is a thing in the kernel.

You are right, it was in tools/include/linux/kernel.h and I didn't spot the 
prefix. Andrew, maybe you could just delete the sentence when you add the 
Reviewed-by?

Eike
Andrew Morton April 1, 2022, 2:32 a.m. UTC | #3
On Tue, 29 Mar 2022 08:45:37 +0200 Rolf Eike Beer <eb@emlix.com> wrote:

> You are right, it was in tools/include/linux/kernel.h and I didn't spot the 
> prefix. Andrew, maybe you could just delete the sentence when you add the 
> Reviewed-by?

Did that.  I used simply "In case the lock is actually not held at this
point."
diff mbox series

Patch

diff --git a/mm/mmap.c b/mm/mmap.c
index 3aa839f81e63..d62598dc2fdd 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -3561,7 +3561,7 @@  int mm_take_all_locks(struct mm_struct *mm)
 	struct vm_area_struct *vma;
 	struct anon_vma_chain *avc;
 
-	BUG_ON(mmap_read_trylock(mm));
+	mmap_assert_write_locked(mm);
 
 	mutex_lock(&mm_all_locks_mutex);
 
@@ -3641,7 +3641,7 @@  void mm_drop_all_locks(struct mm_struct *mm)
 	struct vm_area_struct *vma;
 	struct anon_vma_chain *avc;
 
-	BUG_ON(mmap_read_trylock(mm));
+	mmap_assert_write_locked(mm);
 	BUG_ON(!mutex_is_locked(&mm_all_locks_mutex));
 
 	for (vma = mm->mmap; vma; vma = vma->vm_next) {