From: Andrew Morton akpm@linux-foundation.org
mainline inclusion from mainline-v6.12 commit d1aa0c04294e29883d65eac6c2f72fe95cc7c049 category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/IB957P CVE: CVE-2024-53136
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?i...
--------------------------------
Revert d949d1d14fa2 ("mm: shmem: fix data-race in shmem_getattr()") as suggested by Chuck [1]. It is causing deadlocks when accessing tmpfs over NFS.
As Hugh commented, "added just to silence a syzbot sanitizer splat: added where there has never been any practical problem".
Link: https://lkml.kernel.org/r/ZzdxKF39VEmXSSyN@tissot.1015granger.net [1] Fixes: d949d1d14fa2 ("mm: shmem: fix data-race in shmem_getattr()") Acked-by: Hugh Dickins hughd@google.com Cc: Chuck Lever chuck.lever@oracle.com Cc: Jeongjun Park aha310510@gmail.com Cc: Yu Zhao yuzhao@google.com Cc: stable@vger.kernel.org Signed-off-by: Andrew Morton akpm@linux-foundation.org Signed-off-by: Heyuan Wang wangheyuan2@h-partners.com --- mm/shmem.c | 2 -- 1 file changed, 2 deletions(-)
diff --git a/mm/shmem.c b/mm/shmem.c index 6901c95370e4..4ba22dea0092 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -1167,9 +1167,7 @@ static int shmem_getattr(struct mnt_idmap *idmap, stat->attributes_mask |= (STATX_ATTR_APPEND | STATX_ATTR_IMMUTABLE | STATX_ATTR_NODUMP); - inode_lock_shared(inode); generic_fillattr(idmap, request_mask, inode, stat); - inode_unlock_shared(inode);
if (shmem_huge_global_enabled(inode, 0, 0, false, NULL, 0)) stat->blksize = HPAGE_PMD_SIZE;