Skip to contentSkip to conversation

FAILED: patch "[PATCH] mm: revert "mm: shmem: fix data-race in shmem_getattr()"" failed to apply to 5.15-stable tree

PATCH [email protected] 3 participants 5 messages Nov 17, 2024 – Nov 19, 2024

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 5.15-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

To reproduce the conflict and resubmit, you may use the following commands:

git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-5.15.y
git checkout FETCH_HEAD
git cherry-pick -x d1aa0c04294e29883d65eac6c2f72fe95cc7c049
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2024111702-gonad-immobile-513e@gregkh' --subject-prefix 'PATCH 5.15.y' HEAD^..

Possible dependencies:

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From d1aa0c04294e29883d65eac6c2f72fe95cc7c049 Mon Sep 17 00:00:00 2001
From: Andrew Morton <[email protected]>
Date: Fri, 15 Nov 2024 16:57:24 -0800
Subject: [PATCH] mm: revert "mm: shmem: fix data-race in shmem_getattr()"

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".

Fixes d949d1d14fa2 ("mm: shmem: fix data-race in shmem_getattr()")
Cc Chuck Lever <[email protected]>
Cc Jeongjun Park <[email protected]>
Cc Yu Zhao <[email protected]>
mm/shmem.c +0 -2
index e87f5d6799a7..568bb290bdce 100644
@@ -1166,9 +1166,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;
maintainer Acked-by
#1 lore raw
Quoted 6 lines · On Sun, 17 Nov 2024, [email protected] wrote:

The patch below does not apply to the 5.15-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

Quoted 8 lines

To reproduce the conflict and resubmit, you may use the following commands:

git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-5.15.y
git checkout FETCH_HEAD
git cherry-pick -x d1aa0c04294e29883d65eac6c2f72fe95cc7c049
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2024111702-gonad-immobile-513e@gregkh' --subject-prefix 'PATCH 5.15.y' HEAD^..

For 5.15 please use this replacement patch:

From 975b740a6d720fdf478e9238b65fa96e9b5d631a Mon Sep 17 00:00:00 2001
From: Andrew Morton <[email protected]>
Date: Fri, 15 Nov 2024 16:57:24 -0800
Subject: [PATCH] mm: revert "mm: shmem: fix data-race in shmem_getattr()"

commit d1aa0c04294e29883d65eac6c2f72fe95cc7c049 upstream.

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".

Fixes d949d1d14fa2 ("mm: shmem: fix data-race in shmem_getattr()")
Cc Chuck Lever <[email protected]>
Cc Jeongjun Park <[email protected]>
Cc Yu Zhao <[email protected]>
---
 mm/shmem.c | 2 --
 1 file changed, 2 deletions(-)
mm/shmem.c +0 -2
index cdb169348ba9..663fb117cd87 100644
@@ -1077,9 +1077,7 @@ static int shmem_getattr(struct user_namespace *mnt_userns,
 		shmem_recalc_inode(inode);
 		spin_unlock_irq(&info->lock);
 	}
-	inode_lock_shared(inode);
 	generic_fillattr(&init_user_ns, inode, stat);
-	inode_unlock_shared(inode);
 
 	if (shmem_is_huge(NULL, inode, 0))
 		stat->blksize = HPAGE_PMD_SIZE;
Signature · 1 line
2.47.0.338.g60cca15819-goog
maintainer
#2 lore raw
Quoted 71 lines · Sasha Levin

[ Sasha's backport helper bot ]

Hi,

The upstream commit SHA1 provided is correct: d1aa0c04294e29883d65eac6c2f72fe95cc7c049

WARNING: Author mismatch between patch and upstream commit:
Backport author: Hugh Dickins <[email protected]> Commit author: Andrew Morton <[email protected]>

Commit in newer trees:

|-----------------|----------------------------------------------|
| 6.11.y          |  Present (different SHA1: 285505dc512d)      |
| 6.6.y           |  Present (different SHA1: 552c02da3b0f)      |
| 6.1.y           |  Not found                                   |
| 5.15.y          |  Not found                                   |
|-----------------|----------------------------------------------|

Note: The patch differs from the upstream commit:
---

tmp/tmp.gWYpEchJE1 renamed from - +20 -8
@@ -1,3 +1,12 @@
+For 5.15 please use this replacement patch:
+
+>From 975b740a6d720fdf478e9238b65fa96e9b5d631a Mon Sep 17 00:00:00 2001
+From: Andrew Morton <[email protected]>
+Date: Fri, 15 Nov 2024 16:57:24 -0800
+Subject: [PATCH] mm: revert "mm: shmem: fix data-race in shmem_getattr()"
+
+commit d1aa0c04294e29883d65eac6c2f72fe95cc7c049 upstream.
+
 Revert d949d1d14fa2 ("mm: shmem: fix data-race in shmem_getattr()") as
 suggested by Chuck [1].  It is causing deadlocks when accessing tmpfs over
 NFS.
@@ -13,21 +22,25 @@
 Cc: Yu Zhao <[email protected]>
 Cc: <[email protected]>
 Signed-off-by: Andrew Morton <[email protected]>
+Signed-off-by: Hugh Dickins <[email protected]>
 ---
  mm/shmem.c | 2 --
  1 file changed, 2 deletions(-)
 
 diff --git a/mm/shmem.c b/mm/shmem.c
-index e87f5d6799a7b..568bb290bdce3 100644
+index cdb169348ba9..663fb117cd87 100644
 --- a/mm/shmem.c
 +++ b/mm/shmem.c
-@@ -1166,9 +1166,7 @@ static int shmem_getattr(struct mnt_idmap *idmap,
- 	stat->attributes_mask |= (STATX_ATTR_APPEND |
- 			STATX_ATTR_IMMUTABLE |
- 			STATX_ATTR_NODUMP);
+@@ -1077,9 +1077,7 @@ static int shmem_getattr(struct user_namespace *mnt_userns,
+ 		shmem_recalc_inode(inode);
+ 		spin_unlock_irq(&info->lock);
+ 	}
 -	inode_lock_shared(inode);
- 	generic_fillattr(idmap, request_mask, inode, stat);
+ 	generic_fillattr(&init_user_ns, inode, stat);
 -	inode_unlock_shared(inode);
 
- 	if (shmem_huge_global_enabled(inode, 0, 0, false, NULL, 0))
+ 	if (shmem_is_huge(NULL, inode, 0))
  		stat->blksize = HPAGE_PMD_SIZE;
+-- 
+2.47.0.338.g60cca15819-goog
+
---
Quoted 8 lines

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| stable/linux-5.15.y       |  Success    |  Failed    |

Build Errors:
Build error for stable/linux-5.15.y:

Sorry, I've not received a mail like this before, and don't know what action to take in response to it.

I notice that this 5.15 one says Build Test Failed: that's a surprise, it built for me on 5.15.173; but perhaps something has gone into the queue since then which causes it not to build?

Or perhaps this is just a bot mail to be ignored?

Hugh

maintainer
#3 lore raw
Quoted 85 lines · Hugh Dickins
Quoted 71 lines · Sasha Levin

[ Sasha's backport helper bot ]

Hi,

The upstream commit SHA1 provided is correct: d1aa0c04294e29883d65eac6c2f72fe95cc7c049

WARNING: Author mismatch between patch and upstream commit:
Backport author: Hugh Dickins <[email protected]> Commit author: Andrew Morton <[email protected]>

Commit in newer trees:

|-----------------|----------------------------------------------|
| 6.11.y          |  Present (different SHA1: 285505dc512d)      |
| 6.6.y           |  Present (different SHA1: 552c02da3b0f)      |
| 6.1.y           |  Not found                                   |
| 5.15.y          |  Not found                                   |
|-----------------|----------------------------------------------|

Note: The patch differs from the upstream commit:
---

tmp/tmp.gWYpEchJE1 renamed from - +20 -8
@@ -1,3 +1,12 @@
+For 5.15 please use this replacement patch:
+
+>From 975b740a6d720fdf478e9238b65fa96e9b5d631a Mon Sep 17 00:00:00 2001
+From: Andrew Morton <[email protected]>
+Date: Fri, 15 Nov 2024 16:57:24 -0800
+Subject: [PATCH] mm: revert "mm: shmem: fix data-race in shmem_getattr()"
+
+commit d1aa0c04294e29883d65eac6c2f72fe95cc7c049 upstream.
+
 Revert d949d1d14fa2 ("mm: shmem: fix data-race in shmem_getattr()") as
 suggested by Chuck [1].  It is causing deadlocks when accessing tmpfs over
 NFS.
@@ -13,21 +22,25 @@
 Cc: Yu Zhao <[email protected]>
 Cc: <[email protected]>
 Signed-off-by: Andrew Morton <[email protected]>
+Signed-off-by: Hugh Dickins <[email protected]>
 ---
  mm/shmem.c | 2 --
  1 file changed, 2 deletions(-)
 
 diff --git a/mm/shmem.c b/mm/shmem.c
-index e87f5d6799a7b..568bb290bdce3 100644
+index cdb169348ba9..663fb117cd87 100644
 --- a/mm/shmem.c
 +++ b/mm/shmem.c
-@@ -1166,9 +1166,7 @@ static int shmem_getattr(struct mnt_idmap *idmap,
- 	stat->attributes_mask |= (STATX_ATTR_APPEND |
- 			STATX_ATTR_IMMUTABLE |
- 			STATX_ATTR_NODUMP);
+@@ -1077,9 +1077,7 @@ static int shmem_getattr(struct user_namespace *mnt_userns,
+ 		shmem_recalc_inode(inode);
+ 		spin_unlock_irq(&info->lock);
+ 	}
 -	inode_lock_shared(inode);
- 	generic_fillattr(idmap, request_mask, inode, stat);
+ 	generic_fillattr(&init_user_ns, inode, stat);
 -	inode_unlock_shared(inode);
 
- 	if (shmem_huge_global_enabled(inode, 0, 0, false, NULL, 0))
+ 	if (shmem_is_huge(NULL, inode, 0))
  		stat->blksize = HPAGE_PMD_SIZE;
+--
+2.47.0.338.g60cca15819-goog
+
---
Quoted 8 lines

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| stable/linux-5.15.y       |  Success    |  Failed    |

Build Errors:
Build error for stable/linux-5.15.y:

Sorry, I've not received a mail like this before, and don't know what action to take in response to it.

Quoted 5 lines

I notice that this 5.15 one says Build Test Failed: that's a surprise, it built for me on 5.15.173; but perhaps something has gone into the queue since then which causes it not to build?

Or perhaps this is just a bot mail to be ignored?

It's something we're trying out to improve our efficiency around picking up backports from the mailing list.

Given the bot failed to attach a build log, it seems like an issue with the bot that I'll go fix. Sorry for the noise.

Signature · 2 lines
Thanks,
Sasha
author maintainer
#4 lore raw
In reply to Hugh Dickins
Quoted 9 lines · Hugh Dickins
Quoted 8 lines · On Sun, 17 Nov 2024, [email protected] wrote:

The patch below does not apply to the 5.15-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

To reproduce the conflict and resubmit, you may use the following commands:

Quoted 8 lines
Quoted 6 lines

git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-5.15.y
git checkout FETCH_HEAD
git cherry-pick -x d1aa0c04294e29883d65eac6c2f72fe95cc7c049
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<[email protected]>' --in-reply-to '2024111702-gonad-immobile-513e@gregkh' --subject-prefix 'PATCH 5.15.y' HEAD^..

For 5.15 please use this replacement patch:

Now queued up, thanks.

greg k-h