[patch 13/15] mm: mmap_lock: fix disabling preemption directly
From: Andrew Morton <akpm@linux-foundation.org>
Date: 2021-07-23 22:50:42
Also in:
mm-commits
From: Muchun Song <redacted>
Subject: mm: mmap_lock: fix disabling preemption directly
The commit 832b50725373 ("mm: mmap_lock: use local locks instead of
disabling preemption") fix a bug by using local locks. But commit
d01079f3d0c0 ("mm/mmap_lock: remove dead code for !CONFIG_TRACING
configurations") changes those lines to original version. I guess it is
introduced by the conflicts fixing on merging.
Link: https://lkml.kernel.org/r/20210720074228.76342-1-songmuchun@bytedance.com
Fixes: d01079f3d0c0 ("mm/mmap_lock: remove dead code for !CONFIG_TRACING configurations")
Signed-off-by: Muchun Song <redacted>
Acked-by: Mel Gorman <redacted>
Reviewed-by: Yang Shi <redacted>
Reviewed-by: Pankaj Gupta <redacted>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
mm/mmap_lock.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/mm/mmap_lock.c~mm-mmap_lock-fix-disabling-preemption-directly
+++ a/mm/mmap_lock.c@@ -156,14 +156,14 @@ static inline void put_memcg_path_buf(vo #define TRACE_MMAP_LOCK_EVENT(type, mm, ...) \ do { \ const char *memcg_path; \ - preempt_disable(); \ + local_lock(&memcg_paths.lock); \ memcg_path = get_mm_memcg_path(mm); \ trace_mmap_lock_##type(mm, \ memcg_path != NULL ? memcg_path : "", \ ##__VA_ARGS__); \ if (likely(memcg_path != NULL)) \ put_memcg_path_buf(); \ - preempt_enable(); \ + local_unlock(&memcg_paths.lock); \ } while (0) #else /* !CONFIG_MEMCG */
_