I noticed that backports of commit 69d927bba395 "x86/atomic: Fix smp_mb__{before,after}_atomic()" didn't touch atomic_or_long() (present in 3.16) or atomic_inc_short() (present in 4.9 and earlier).
These functions were only implemented on x86 and not actually used in- tree. But it's possible they are used by some out-of-tree module, and that commit removed compiler barriers for them.
Would it might make sense to either 1. Add the memory clobber to these functions, or 2. Delete them on the affected stable branches?
Ben.
On Tue, Jan 07, 2020 at 05:48:55PM +0000, Ben Hutchings wrote:
I noticed that backports of commit 69d927bba395 "x86/atomic: Fix smp_mb__{before,after}_atomic()" didn't touch atomic_or_long() (present in 3.16) or atomic_inc_short() (present in 4.9 and earlier).
These functions were only implemented on x86 and not actually used in- tree. But it's possible they are used by some out-of-tree module, and that commit removed compiler barriers for them.
Would it might make sense to either
- Add the memory clobber to these functions, or
- Delete them
on the affected stable branches?
Looks like we can drop atomic_inc_short for 4.9 as there are no users, same for 4.4. I'll go do that now. It's not like the "fix" is really needed here because of that :)
Good catch!
thanks,
greg k-h
On Tue, 2020-01-07 at 19:14 +0100, Greg Kroah-Hartman wrote:
On Tue, Jan 07, 2020 at 05:48:55PM +0000, Ben Hutchings wrote:
I noticed that backports of commit 69d927bba395 "x86/atomic: Fix smp_mb__{before,after}_atomic()" didn't touch atomic_or_long() (present in 3.16) or atomic_inc_short() (present in 4.9 and earlier).
These functions were only implemented on x86 and not actually used in- tree. But it's possible they are used by some out-of-tree module, and that commit removed compiler barriers for them.
Would it might make sense to either
- Add the memory clobber to these functions, or
- Delete them
on the affected stable branches?
Looks like we can drop atomic_inc_short for 4.9 as there are no users, same for 4.4. I'll go do that now. It's not like the "fix" is really needed here because of that :)
Upstream commit for this is:
commit 31b35f6b4d5285a311e10753f4eb17304326b211 Author: Dmitry Vyukov dvyukov@google.com Date: Fri May 26 19:29:00 2017 +0200
locking/x86: Remove the unused atomic_inc_short() methd
Ben.
linux-stable-mirror@lists.linaro.org