Kernel modules generated incorrectly when system is localized to a non-English language
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Fix Released
|
Low
|
Unassigned | ||
Bionic |
Fix Released
|
Low
|
Unassigned | ||
Cosmic |
Fix Committed
|
Low
|
Unassigned | ||
Disco |
Fix Released
|
Low
|
Unassigned |
Bug Description
When LANG is set to a non-English language with the relevant language pack installed, Kbuild's recordmcount.pl script fails to function correctly when building out-of-tree kernel modules on architectures that do not use the C version of recordmcount (e.g. ppc64le). This can result in invalid kernel modules being built.
This was due to the non-C version of recordmcount relying on parsing the output of objdump(1), which can be localized. This is now fixed in the linux-kbuild tree with the following commit:
This commit is not in the torvalds/linux.git tree yet, but it would be good to backport the change to the Ubuntu kernel, particularly the linux-headers packages that are used for building out-of-tree kernel modules.
Steps to Reproduce:
1. Set LANG to a language other than English (e.g. ja_JP.UTF-8)
2. Make sure that the correct language pack is installed and that localization is working; for example, run a command expected to print an error message, like `cp` with no additional arguments.
3. Install the NVIDIA GPU driver
Actual results:
The kernel panics when loading the nvidia-modeset kernel module.
Expected results:
The driver should install and load normally.
CVE References
Changed in linux (Ubuntu Xenial): | |
importance: | Undecided → Low |
Changed in linux (Ubuntu Bionic): | |
importance: | Undecided → Low |
Changed in linux (Ubuntu Cosmic): | |
importance: | Undecided → Low |
Changed in linux (Ubuntu Disco): | |
importance: | Undecided → Low |
Changed in linux (Ubuntu Xenial): | |
status: | New → Fix Committed |
Changed in linux (Ubuntu Cosmic): | |
status: | New → Fix Committed |
Changed in linux (Ubuntu Bionic): | |
status: | New → Fix Committed |
Changed in linux (Ubuntu Disco): | |
status: | New → 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 1828084
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.