32-bit x86 kernel 4.15.0-50 crash in vmalloc_sync_all
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Bionic |
Fix Released
|
Medium
|
Unassigned |
Bug Description
[Impact]
Commit d653420532d5801
The real problem seems to be a race condition with page-table entries' initialization that can be fixed applying the upstream commit 9bc4f28af75a91a
[Test Case]
The bug can be easily triggered by rebooting the system a couple of times and loading this module:
https:/
[Fix]
The following upstream fix seems to resolve the problem:
In addition to that the following other upstream fixes are required (all clean cherry picks) to do a cleaner backport of 9bc4f28af75a91a
https:/
https:/
https:/
https:/
https:/
https:/
https:/
[Regression Potential]
All upstream fixes, tested on the affected platform, backport changes are minimal.
[Original bug report]
Hi,
I'm reproducing a kernel bug in vmalloc_sync_all() with a 32-bit x86 kernel.
The problem appears in
Linux ubuntu 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:45:45 UTC 2019 i686 i686 i686 GNU/Linux
Kernels 4.15.0-49 and prior work fine.
The kernel 4.18.0-20-generic works fine.
This problem has not been experienced with upstream Linux kernels.
It appears that invoking vmalloc_sync_all() a few times end up triggering this issue. This can be triggered by restarting the lttng-sessiond service with lttng-modules-dkms installed (sometimes a few restarts are needed to trigger the bug). This ends up unloading and reloading those modules, which issues a few vmalloc_sync_all() as side-effect.
I'm not reporting this issue with the "ubuntu-bug linux" command because it crashes the system on that kernel (system hangs, no console output).
My test system runs within a kvm virtual machine on a 64-bit host.
lsb release:
Description: Ubuntu 18.04.2 LTS
Release: 18.04
Information about my kernel:
linux-image-
Installed: 4.15.0-50.54
Candidate: 4.15.0-50.54
Version table:
*** 4.15.0-50.54 500
500 http://
500 http://
100 /var/lib/
Information about lttng-modules-dkms:
lttng-modules-dkms:
Installed: 2.10.5-1ubuntu1.2
Candidate: 2.10.5-1ubuntu1.2
Version table:
*** 2.10.5-1ubuntu1.2 500
500 http://
100 /var/lib/
2.
500 http://
CVE References
Changed in linux (Ubuntu): | |
importance: | Undecided → Medium |
Changed in linux (Ubuntu Bionic): | |
status: | New → Confirmed |
importance: | Undecided → Medium |
description: | updated |
Changed in linux (Ubuntu Bionic): | |
status: | Confirmed → Fix Committed |
tags: |
added: verification-done-bionic removed: verification-needed-bionic |
tags: | added: cscc |
This change was made by a bot.