locking/qrwlock: Fix ordering in queued_write_lock_slowpath()
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Medium
|
Unassigned | ||
Focal |
Fix Released
|
Medium
|
Unassigned | ||
Groovy |
Fix Released
|
Medium
|
Unassigned | ||
Hirsute |
Fix Released
|
Medium
|
Unassigned | ||
linux-aws (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Unassigned | ||
Groovy |
Fix Released
|
Undecided
|
Unassigned | ||
Hirsute |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
* Out of order reads can fetch a NULL pointer causing a kernel crash. Affects kernels from v4.15 to v5.11.
[Fix]
* commit 84a24bf8c52e ("locking/qrwlock: Fix ordering in queued_
* For Bionic, we also require an additional patch: commit fcfdfe30e324 ("locking/barriers: Introduce smp_cond_
[Where problems could occur]
* This is quite a subtle bug. It is more prevalent on arm64. Regression
possibility seems quite low. The worst impact could be a minor performance degradation.
* Kernels 4.15 / 5.4 / 5.8 / 5.11 were successfully built and booted with this patch. Also, by using ftrace we could see that the changed function was executed with success multiple times.
Changed in linux (Ubuntu): | |
status: | Incomplete → In Progress |
Changed in linux-aws (Ubuntu): | |
status: | New → In Progress |
description: | updated |
description: | updated |
Changed in linux-aws (Ubuntu Bionic): | |
status: | New → Fix Committed |
Changed in linux-aws (Ubuntu Focal): | |
status: | New → Fix Committed |
Changed in linux (Ubuntu Hirsute): | |
importance: | Undecided → Medium |
status: | Confirmed → Fix Committed |
Changed in linux (Ubuntu Groovy): | |
importance: | Undecided → Medium |
status: | Confirmed → Fix Committed |
Changed in linux (Ubuntu Focal): | |
importance: | Undecided → Medium |
status: | Confirmed → Fix Committed |
Changed in linux (Ubuntu Bionic): | |
importance: | Undecided → Medium |
status: | Confirmed → Fix Committed |
This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:
apport-collect 1926184
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.