linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH v6 10/12] mmap locking API: rename mmap_sem to mmap_lock
@ 2020-06-04  4:35 youling 257
  2020-06-04  5:57 ` Michel Lespinasse
  0 siblings, 1 reply; 9+ messages in thread
From: youling 257 @ 2020-06-04  4:35 UTC (permalink / raw)
  To: walken
  Cc: Liam.Howlett, akpm, daniel.m.jordan, dave, hughd, jgg, jglisse,
	jhubbard, ldufour, linux-kernel, linux-mm, peterz, rientjes,
	vbabka, willy, yinghan, youling257

I have build error about kernel/sys.c,


kernel/sys.c: In function ‘prctl_set_vma’:

kernel/sys.c:2392:18: error:

‘struct mm_struct’ has no member named ‘mmap_sem’; did you mean

‘mmap_base’?

  2392 |  down_write(&mm->mmap_sem);

       |                  ^~~~~~~~

       |                  mmap_base

kernel/sys.c:2402:16: error:

‘struct mm_struct’ has no member named ‘mmap_sem’; did you mean

‘mmap_base’?

  2402 |  up_write(&mm->mmap_sem);

       |                ^~~~~~~~

       |                mmap_base



why not rename kernel/sys.c mmap_sem to mmap_lock?


diff --git a/kernel/sys.c b/kernel/sys.c

index 113955fe1c6b..043c04a745a9 100644

--- a/kernel/sys.c

+++ b/kernel/sys.c

@@ -2389,7 +2389,7 @@ static int prctl_set_vma(unsigned long opt,
unsigned long start,

      if (end == start)

          return 0;

-    down_write(&mm->mmap_sem);

+    down_write(&mm->mmap_lock);

      switch (opt) {

      case PR_SET_VMA_ANON_NAME:

@@ -2399,7 +2399,7 @@ static int prctl_set_vma(unsigned long opt,
unsigned long start,

          error = -EINVAL;

      }

-    up_write(&mm->mmap_sem);

+    up_write(&mm->mmap_lock);

      return error;

  }


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

* Re: [PATCH v6 10/12] mmap locking API: rename mmap_sem to mmap_lock
  2020-06-04  4:35 [PATCH v6 10/12] mmap locking API: rename mmap_sem to mmap_lock youling 257
@ 2020-06-04  5:57 ` Michel Lespinasse
  2020-06-04  8:06   ` youling 257
  2020-06-04  8:16   ` youling 257
  0 siblings, 2 replies; 9+ messages in thread
From: Michel Lespinasse @ 2020-06-04  5:57 UTC (permalink / raw)
  To: youling 257
  Cc: Liam R . Howlett, Andrew Morton, Daniel Jordan, Davidlohr Bueso,
	Hugh Dickins, Jason Gunthorpe, Jerome Glisse, John Hubbard,
	Laurent Dufour, LKML, linux-mm, Peter Zijlstra, David Rientjes,
	Vlastimil Babka, Matthew Wilcox, Ying Han

On Wed, Jun 3, 2020 at 9:35 PM youling 257 <youling257@gmail.com> wrote:
> I have build error about kernel/sys.c,
>
> kernel/sys.c: In function ‘prctl_set_vma’:
> kernel/sys.c:2392:18: error:
> ‘struct mm_struct’ has no member named ‘mmap_sem’; did you mean
> ‘mmap_base’?
>   2392 |  down_write(&mm->mmap_sem);
>        |                  ^~~~~~~~
>        |                  mmap_base
> kernel/sys.c:2402:16: error:
> ‘struct mm_struct’ has no member named ‘mmap_sem’; did you mean
> ‘mmap_base’?
>   2402 |  up_write(&mm->mmap_sem);
>        |                ^~~~~~~~
>        |                mmap_base
>
> why not rename kernel/sys.c mmap_sem to mmap_lock?

The proper fix would be to use the mmap locking apis defined in
include/linux/mmap_lock.h instead.

However I would like more information about your report. Did you apply
the series yourself ? If so, what base tree did you apply it onto ? If
not, what tree did you use that already included the series ?

Thanks,

-- 
Michel "Walken" Lespinasse
A program is never fully debugged until the last user dies.


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

* Re: [PATCH v6 10/12] mmap locking API: rename mmap_sem to mmap_lock
  2020-06-04  5:57 ` Michel Lespinasse
@ 2020-06-04  8:06   ` youling 257
  2020-06-04  8:16   ` youling 257
  1 sibling, 0 replies; 9+ messages in thread
From: youling 257 @ 2020-06-04  8:06 UTC (permalink / raw)
  To: Michel Lespinasse
  Cc: Liam R . Howlett, Andrew Morton, Daniel Jordan, Davidlohr Bueso,
	Hugh Dickins, Jason Gunthorpe, Jerome Glisse, John Hubbard,
	Laurent Dufour, LKML, linux-mm, Peter Zijlstra, David Rientjes,
	Vlastimil Babka, Matthew Wilcox, Ying Han

i build linux next kernel have the kernel/sys.c error.

2020-06-04 13:57 GMT+08:00, Michel Lespinasse <walken@google.com>:
> On Wed, Jun 3, 2020 at 9:35 PM youling 257 <youling257@gmail.com> wrote:
>> I have build error about kernel/sys.c,
>>
>> kernel/sys.c: In function ‘prctl_set_vma’:
>> kernel/sys.c:2392:18: error:
>> ‘struct mm_struct’ has no member named ‘mmap_sem’; did you mean
>> ‘mmap_base’?
>>   2392 |  down_write(&mm->mmap_sem);
>>        |                  ^~~~~~~~
>>        |                  mmap_base
>> kernel/sys.c:2402:16: error:
>> ‘struct mm_struct’ has no member named ‘mmap_sem’; did you mean
>> ‘mmap_base’?
>>   2402 |  up_write(&mm->mmap_sem);
>>        |                ^~~~~~~~
>>        |                mmap_base
>>
>> why not rename kernel/sys.c mmap_sem to mmap_lock?
>
> The proper fix would be to use the mmap locking apis defined in
> include/linux/mmap_lock.h instead.
>
> However I would like more information about your report. Did you apply
> the series yourself ? If so, what base tree did you apply it onto ? If
> not, what tree did you use that already included the series ?
>
> Thanks,
>
> --
> Michel "Walken" Lespinasse
> A program is never fully debugged until the last user dies.
>


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

* Re: [PATCH v6 10/12] mmap locking API: rename mmap_sem to mmap_lock
  2020-06-04  5:57 ` Michel Lespinasse
  2020-06-04  8:06   ` youling 257
@ 2020-06-04  8:16   ` youling 257
  2020-06-04  8:38     ` Michel Lespinasse
  1 sibling, 1 reply; 9+ messages in thread
From: youling 257 @ 2020-06-04  8:16 UTC (permalink / raw)
  To: Michel Lespinasse
  Cc: Liam R . Howlett, Andrew Morton, Daniel Jordan, Davidlohr Bueso,
	Hugh Dickins, Jason Gunthorpe, Jerome Glisse, John Hubbard,
	Laurent Dufour, LKML, linux-mm, Peter Zijlstra, David Rientjes,
	Vlastimil Babka, Matthew Wilcox, Ying Han

2020-06-04 13:57 GMT+08:00, Michel Lespinasse <walken@google.com>:
> On Wed, Jun 3, 2020 at 9:35 PM youling 257 <youling257@gmail.com> wrote:
>> I have build error about kernel/sys.c,
>>
>> kernel/sys.c: In function ‘prctl_set_vma’:
>> kernel/sys.c:2392:18: error:
>> ‘struct mm_struct’ has no member named ‘mmap_sem’; did you mean
>> ‘mmap_base’?
>>   2392 |  down_write(&mm->mmap_sem);
>>        |                  ^~~~~~~~
>>        |                  mmap_base
>> kernel/sys.c:2402:16: error:
>> ‘struct mm_struct’ has no member named ‘mmap_sem’; did you mean
>> ‘mmap_base’?
>>   2402 |  up_write(&mm->mmap_sem);
>>        |                ^~~~~~~~
>>        |                mmap_base
>>
>> why not rename kernel/sys.c mmap_sem to mmap_lock?
>
> The proper fix would be to use the mmap locking apis defined in
> include/linux/mmap_lock.h instead.
>
> However I would like more information about your report. Did you apply
> the series yourself ? If so, what base tree did you apply it onto ? If
> not, what tree did you use that already included the series ?

I build linux next-20200603 tree have the kernel/sys.c error.

> Thanks,
>
> --
> Michel "Walken" Lespinasse
> A program is never fully debugged until the last user dies.
>


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

* Re: [PATCH v6 10/12] mmap locking API: rename mmap_sem to mmap_lock
  2020-06-04  8:16   ` youling 257
@ 2020-06-04  8:38     ` Michel Lespinasse
  2020-06-13  4:44       ` youling 257
  0 siblings, 1 reply; 9+ messages in thread
From: Michel Lespinasse @ 2020-06-04  8:38 UTC (permalink / raw)
  To: youling 257
  Cc: Liam R . Howlett, Andrew Morton, Daniel Jordan, Davidlohr Bueso,
	Hugh Dickins, Jason Gunthorpe, Jerome Glisse, John Hubbard,
	Laurent Dufour, LKML, linux-mm, Peter Zijlstra, David Rientjes,
	Vlastimil Babka, Matthew Wilcox, Ying Han

On Thu, Jun 4, 2020 at 1:16 AM youling 257 <youling257@gmail.com> wrote:
> 2020-06-04 13:57 GMT+08:00, Michel Lespinasse <walken@google.com>:
> > However I would like more information about your report. Did you apply
> > the series yourself ? If so, what base tree did you apply it onto ? If
> > not, what tree did you use that already included the series ?
>
> I build linux next-20200603 tree have the kernel/sys.c error.

Thanks for the info.

The proper fix is to replace down_write(&mm->mmap_sem) with
mmap_write_lock(mm) and up_write(&mm->mmap_sem) with
mmap_write_unlock(mm)

If you just needed a quick fix to get the tree to build, what you did
(replacing mmap_sem with mmap_lock) is also fine.

Thanks again !

-- 
Michel "Walken" Lespinasse
A program is never fully debugged until the last user dies.


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

* Re: [PATCH v6 10/12] mmap locking API: rename mmap_sem to mmap_lock
  2020-06-04  8:38     ` Michel Lespinasse
@ 2020-06-13  4:44       ` youling 257
  0 siblings, 0 replies; 9+ messages in thread
From: youling 257 @ 2020-06-13  4:44 UTC (permalink / raw)
  To: Michel Lespinasse
  Cc: Liam R . Howlett, Andrew Morton, Daniel Jordan, Davidlohr Bueso,
	Hugh Dickins, Jason Gunthorpe, Jerome Glisse, John Hubbard,
	Laurent Dufour, LKML, linux-mm, Peter Zijlstra, David Rientjes,
	Vlastimil Babka, Matthew Wilcox, Ying Han

today test linux kernel master branch, I have kernel/sys.c build error.
can you make a fix patch and push to linus?

2020-06-04 16:38 GMT+08:00, Michel Lespinasse <walken@google.com>:
> On Thu, Jun 4, 2020 at 1:16 AM youling 257 <youling257@gmail.com> wrote:
>> 2020-06-04 13:57 GMT+08:00, Michel Lespinasse <walken@google.com>:
>> > However I would like more information about your report. Did you apply
>> > the series yourself ? If so, what base tree did you apply it onto ? If
>> > not, what tree did you use that already included the series ?
>>
>> I build linux next-20200603 tree have the kernel/sys.c error.
>
> Thanks for the info.
>
> The proper fix is to replace down_write(&mm->mmap_sem) with
> mmap_write_lock(mm) and up_write(&mm->mmap_sem) with
> mmap_write_unlock(mm)
>
> If you just needed a quick fix to get the tree to build, what you did
> (replacing mmap_sem with mmap_lock) is also fine.
>
> Thanks again !
>
> --
> Michel "Walken" Lespinasse
> A program is never fully debugged until the last user dies.
>


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

* Re: [PATCH v6 10/12] mmap locking API: rename mmap_sem to mmap_lock
  2020-05-20  5:29 ` [PATCH v6 10/12] mmap locking API: rename mmap_sem to mmap_lock Michel Lespinasse
  2020-05-22 14:16   ` Davidlohr Bueso
@ 2020-05-29 20:42   ` Daniel Jordan
  1 sibling, 0 replies; 9+ messages in thread
From: Daniel Jordan @ 2020-05-29 20:42 UTC (permalink / raw)
  To: Michel Lespinasse
  Cc: Andrew Morton, linux-mm, LKML, Peter Zijlstra, Laurent Dufour,
	Vlastimil Babka, Matthew Wilcox, Liam Howlett, Jerome Glisse,
	Davidlohr Bueso, David Rientjes, Hugh Dickins, Ying Han,
	Jason Gunthorpe, Daniel Jordan, John Hubbard

On Tue, May 19, 2020 at 10:29:06PM -0700, Michel Lespinasse wrote:
> Rename the mmap_sem field to mmap_lock. Any new uses of this lock
> should now go through the new mmap locking api. The mmap_lock is
> still implemented as a rwsem, though this could change in the future.
> 
> Signed-off-by: Michel Lespinasse <walken@google.com>
> Reviewed-by: Vlastimil Babka <vbabka@suse.cz>

Reviewed-by: Daniel Jordan <daniel.m.jordan@oracle.com>


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

* Re: [PATCH v6 10/12] mmap locking API: rename mmap_sem to mmap_lock
  2020-05-20  5:29 ` [PATCH v6 10/12] mmap locking API: rename mmap_sem to mmap_lock Michel Lespinasse
@ 2020-05-22 14:16   ` Davidlohr Bueso
  2020-05-29 20:42   ` Daniel Jordan
  1 sibling, 0 replies; 9+ messages in thread
From: Davidlohr Bueso @ 2020-05-22 14:16 UTC (permalink / raw)
  To: Michel Lespinasse
  Cc: Andrew Morton, linux-mm, LKML, Peter Zijlstra, Laurent Dufour,
	Vlastimil Babka, Matthew Wilcox, Liam Howlett, Jerome Glisse,
	David Rientjes, Hugh Dickins, Ying Han, Jason Gunthorpe,
	Daniel Jordan, John Hubbard

On Tue, 19 May 2020, Michel Lespinasse wrote:

>Rename the mmap_sem field to mmap_lock. Any new uses of this lock
>should now go through the new mmap locking api. The mmap_lock is
>still implemented as a rwsem, though this could change in the future.
>
>Signed-off-by: Michel Lespinasse <walken@google.com>
>Reviewed-by: Vlastimil Babka <vbabka@suse.cz>

Reviewed-by: Davidlohr Bueso <dbueso@suse.de>


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

* [PATCH v6 10/12] mmap locking API: rename mmap_sem to mmap_lock
  2020-05-20  5:28 [PATCH v6 00/12] Add a new mmap locking API wrapping mmap_sem calls Michel Lespinasse
@ 2020-05-20  5:29 ` Michel Lespinasse
  2020-05-22 14:16   ` Davidlohr Bueso
  2020-05-29 20:42   ` Daniel Jordan
  0 siblings, 2 replies; 9+ messages in thread
From: Michel Lespinasse @ 2020-05-20  5:29 UTC (permalink / raw)
  To: Andrew Morton, linux-mm
  Cc: LKML, Peter Zijlstra, Laurent Dufour, Vlastimil Babka,
	Matthew Wilcox, Liam Howlett, Jerome Glisse, Davidlohr Bueso,
	David Rientjes, Hugh Dickins, Ying Han, Jason Gunthorpe,
	Daniel Jordan, John Hubbard, Michel Lespinasse

Rename the mmap_sem field to mmap_lock. Any new uses of this lock
should now go through the new mmap locking api. The mmap_lock is
still implemented as a rwsem, though this could change in the future.

Signed-off-by: Michel Lespinasse <walken@google.com>
Reviewed-by: Vlastimil Babka <vbabka@suse.cz>
---
 arch/ia64/mm/fault.c                  |  4 +--
 arch/x86/mm/fault.c                   |  2 +-
 drivers/gpu/drm/etnaviv/etnaviv_gem.c |  2 +-
 include/linux/mm_types.h              |  2 +-
 include/linux/mmap_lock.h             | 38 +++++++++++++--------------
 mm/memory.c                           |  2 +-
 mm/mmap.c                             |  4 +--
 mm/mmu_notifier.c                     |  2 +-
 8 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/arch/ia64/mm/fault.c b/arch/ia64/mm/fault.c
index 693f00b117e1..9b95050c2048 100644
--- a/arch/ia64/mm/fault.c
+++ b/arch/ia64/mm/fault.c
@@ -70,8 +70,8 @@ ia64_do_page_fault (unsigned long address, unsigned long isr, struct pt_regs *re
 	mask = ((((isr >> IA64_ISR_X_BIT) & 1UL) << VM_EXEC_BIT)
 		| (((isr >> IA64_ISR_W_BIT) & 1UL) << VM_WRITE_BIT));
 
-	/* mmap_sem is performance critical.... */
-	prefetchw(&mm->mmap_sem);
+	/* mmap_lock is performance critical.... */
+	prefetchw(&mm->mmap_lock);
 
 	/*
 	 * If we're in an interrupt or have no user context, we must not take the fault..
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
index 181f66b9049f..35f530f9dfc0 100644
--- a/arch/x86/mm/fault.c
+++ b/arch/x86/mm/fault.c
@@ -1522,7 +1522,7 @@ dotraplinkage void
 do_page_fault(struct pt_regs *regs, unsigned long hw_error_code,
 		unsigned long address)
 {
-	prefetchw(&current->mm->mmap_sem);
+	prefetchw(&current->mm->mmap_lock);
 	trace_page_fault_entries(regs, hw_error_code, address);
 
 	if (unlikely(kmmio_fault(regs, address)))
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gem.c b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
index dc9ef302f517..701f3995f621 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gem.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gem.c
@@ -661,7 +661,7 @@ static int etnaviv_gem_userptr_get_pages(struct etnaviv_gem_object *etnaviv_obj)
 	struct etnaviv_gem_userptr *userptr = &etnaviv_obj->userptr;
 	int ret, pinned = 0, npages = etnaviv_obj->base.size >> PAGE_SHIFT;
 
-	might_lock_read(&current->mm->mmap_sem);
+	might_lock_read(&current->mm->mmap_lock);
 
 	if (userptr->mm != current->mm)
 		return -EPERM;
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
index 4aba6c0c2ba8..d13b90399c16 100644
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
@@ -436,7 +436,7 @@ struct mm_struct {
 		spinlock_t page_table_lock; /* Protects page tables and some
 					     * counters
 					     */
-		struct rw_semaphore mmap_sem;
+		struct rw_semaphore mmap_lock;
 
 		struct list_head mmlist; /* List of maybe swapped mm's.	These
 					  * are globally strung together off
diff --git a/include/linux/mmap_lock.h b/include/linux/mmap_lock.h
index 43ef914e6468..b5bd86778cca 100644
--- a/include/linux/mmap_lock.h
+++ b/include/linux/mmap_lock.h
@@ -4,67 +4,67 @@
 #include <linux/mmdebug.h>
 
 #define MMAP_LOCK_INITIALIZER(name) \
-	.mmap_sem = __RWSEM_INITIALIZER((name).mmap_sem),
+	.mmap_lock = __RWSEM_INITIALIZER((name).mmap_lock),
 
 static inline void mmap_init_lock(struct mm_struct *mm)
 {
-	init_rwsem(&mm->mmap_sem);
+	init_rwsem(&mm->mmap_lock);
 }
 
 static inline void mmap_write_lock(struct mm_struct *mm)
 {
-	down_write(&mm->mmap_sem);
+	down_write(&mm->mmap_lock);
 }
 
 static inline void mmap_write_lock_nested(struct mm_struct *mm, int subclass)
 {
-	down_write_nested(&mm->mmap_sem, subclass);
+	down_write_nested(&mm->mmap_lock, subclass);
 }
 
 static inline int mmap_write_lock_killable(struct mm_struct *mm)
 {
-	return down_write_killable(&mm->mmap_sem);
+	return down_write_killable(&mm->mmap_lock);
 }
 
 static inline bool mmap_write_trylock(struct mm_struct *mm)
 {
-	return down_write_trylock(&mm->mmap_sem) != 0;
+	return down_write_trylock(&mm->mmap_lock) != 0;
 }
 
 static inline void mmap_write_unlock(struct mm_struct *mm)
 {
-	up_write(&mm->mmap_sem);
+	up_write(&mm->mmap_lock);
 }
 
 static inline void mmap_write_downgrade(struct mm_struct *mm)
 {
-	downgrade_write(&mm->mmap_sem);
+	downgrade_write(&mm->mmap_lock);
 }
 
 static inline void mmap_read_lock(struct mm_struct *mm)
 {
-	down_read(&mm->mmap_sem);
+	down_read(&mm->mmap_lock);
 }
 
 static inline int mmap_read_lock_killable(struct mm_struct *mm)
 {
-	return down_read_killable(&mm->mmap_sem);
+	return down_read_killable(&mm->mmap_lock);
 }
 
 static inline bool mmap_read_trylock(struct mm_struct *mm)
 {
-	return down_read_trylock(&mm->mmap_sem) != 0;
+	return down_read_trylock(&mm->mmap_lock) != 0;
 }
 
 static inline void mmap_read_unlock(struct mm_struct *mm)
 {
-	up_read(&mm->mmap_sem);
+	up_read(&mm->mmap_lock);
 }
 
 static inline bool mmap_read_trylock_non_owner(struct mm_struct *mm)
 {
-	if (down_read_trylock(&mm->mmap_sem)) {
-		rwsem_release(&mm->mmap_sem.dep_map, _RET_IP_);
+	if (down_read_trylock(&mm->mmap_lock)) {
+		rwsem_release(&mm->mmap_lock.dep_map, _RET_IP_);
 		return true;
 	}
 	return false;
@@ -72,19 +72,19 @@ static inline bool mmap_read_trylock_non_owner(struct mm_struct *mm)
 
 static inline void mmap_read_unlock_non_owner(struct mm_struct *mm)
 {
-	up_read_non_owner(&mm->mmap_sem);
+	up_read_non_owner(&mm->mmap_lock);
 }
 
 static inline void mmap_assert_locked(struct mm_struct *mm)
 {
-	lockdep_assert_held(&mm->mmap_sem);
-	VM_BUG_ON_MM(!rwsem_is_locked(&mm->mmap_sem), mm);
+	lockdep_assert_held(&mm->mmap_lock);
+	VM_BUG_ON_MM(!rwsem_is_locked(&mm->mmap_lock), mm);
 }
 
 static inline void mmap_assert_write_locked(struct mm_struct *mm)
 {
-	lockdep_assert_held_write(&mm->mmap_sem);
-	VM_BUG_ON_MM(!rwsem_is_locked(&mm->mmap_sem), mm);
+	lockdep_assert_held_write(&mm->mmap_lock);
+	VM_BUG_ON_MM(!rwsem_is_locked(&mm->mmap_lock), mm);
 }
 
 #endif /* _LINUX_MMAP_LOCK_H */
diff --git a/mm/memory.c b/mm/memory.c
index 20f98ea8968e..c2963e7affa9 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -4811,7 +4811,7 @@ void __might_fault(const char *file, int line)
 	__might_sleep(file, line, 0);
 #if defined(CONFIG_DEBUG_ATOMIC_SLEEP)
 	if (current->mm)
-		might_lock_read(&current->mm->mmap_sem);
+		might_lock_read(&current->mm->mmap_lock);
 #endif
 }
 EXPORT_SYMBOL(__might_fault);
diff --git a/mm/mmap.c b/mm/mmap.c
index 2f4ffccc5972..80a47031d5db 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -3474,7 +3474,7 @@ static void vm_lock_anon_vma(struct mm_struct *mm, struct anon_vma *anon_vma)
 		 * The LSB of head.next can't change from under us
 		 * because we hold the mm_all_locks_mutex.
 		 */
-		down_write_nest_lock(&anon_vma->root->rwsem, &mm->mmap_sem);
+		down_write_nest_lock(&anon_vma->root->rwsem, &mm->mmap_lock);
 		/*
 		 * We can safely modify head.next after taking the
 		 * anon_vma->root->rwsem. If some other vma in this mm shares
@@ -3504,7 +3504,7 @@ static void vm_lock_mapping(struct mm_struct *mm, struct address_space *mapping)
 		 */
 		if (test_and_set_bit(AS_MM_ALL_LOCKS, &mapping->flags))
 			BUG();
-		down_write_nest_lock(&mapping->i_mmap_rwsem, &mm->mmap_sem);
+		down_write_nest_lock(&mapping->i_mmap_rwsem, &mm->mmap_lock);
 	}
 }
 
diff --git a/mm/mmu_notifier.c b/mm/mmu_notifier.c
index 24eb9d1ed0a7..2f348b6c9c9a 100644
--- a/mm/mmu_notifier.c
+++ b/mm/mmu_notifier.c
@@ -983,7 +983,7 @@ int mmu_interval_notifier_insert(struct mmu_interval_notifier *interval_sub,
 	struct mmu_notifier_subscriptions *subscriptions;
 	int ret;
 
-	might_lock(&mm->mmap_sem);
+	might_lock(&mm->mmap_lock);
 
 	subscriptions = smp_load_acquire(&mm->notifier_subscriptions);
 	if (!subscriptions || !subscriptions->has_itree) {
-- 
2.26.2.761.g0e0b3e54be-goog



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

end of thread, other threads:[~2020-06-13  4:44 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-04  4:35 [PATCH v6 10/12] mmap locking API: rename mmap_sem to mmap_lock youling 257
2020-06-04  5:57 ` Michel Lespinasse
2020-06-04  8:06   ` youling 257
2020-06-04  8:16   ` youling 257
2020-06-04  8:38     ` Michel Lespinasse
2020-06-13  4:44       ` youling 257
  -- strict thread matches above, loose matches on Subject: below --
2020-05-20  5:28 [PATCH v6 00/12] Add a new mmap locking API wrapping mmap_sem calls Michel Lespinasse
2020-05-20  5:29 ` [PATCH v6 10/12] mmap locking API: rename mmap_sem to mmap_lock Michel Lespinasse
2020-05-22 14:16   ` Davidlohr Bueso
2020-05-29 20:42   ` Daniel Jordan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).