Merge ~canonical-kernel-team/+git/autotest-client-tests:phlin/kernel-taint-rework into ~canonical-kernel-team/+git/autotest-client-tests:master
Status: | Merged | ||||
---|---|---|---|---|---|
Merged at revision: | a339c32659bb9e883b64f5ffc0233c68584fd9b6 | ||||
Proposed branch: | ~canonical-kernel-team/+git/autotest-client-tests:phlin/kernel-taint-rework | ||||
Merge into: | ~canonical-kernel-team/+git/autotest-client-tests:master | ||||
Diff against target: |
200 lines (+74/-81) 2 files modified
ubuntu_boot/kernel_taint_test.py (+73/-80) ubuntu_boot/ubuntu_boot.py (+1/-1) |
||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Francis Ginther | Approve | ||
Review via email:
|
Commit message
BugLink: https:/
We're using a list to store those modules which will taint the kernel.
However we didn't check why the module is tainted but just ignore them
if they're in the loaded module list.
It will cause a false impression that a module is tainting the kernel
with different issues simply because they're loaded. This was found
while investigating Kinetic RPI boot test result (with database added
in the same logic). Within which only the rpivid_hevc module was
unsigned, but every other modules in the list were printed out for the
unsigned taint as well.
Test output:
Taint bit value: 13 (unsigned module was loaded)
Exception made in test script: bcm2835_codec
Exception made in test script: bcm2835_isp
Exception made in test script: bcm2835_v4l2
Exception made in test script: bcm2835_mmal_vchiq
Exception made in test script: rpivid_hevc
Exception made in test script: snd_bcm2835
Exception made in test script: vc_sm_cma
* Unsigned modules found, but they are expected and OK
Acutal module taint flag:
snd_bcm2835 - C
rpivid_hevc - CE
bcm2835_codec -C
bcm2835_v4l2 - C
bcm2835_isp - C
bcm2835_
vc_sm_cma C
Reconstruct kernel_tainted check, use a taint flag dictionary to
filter out known issues for different modules. Ignore them only if the
issue is explicitly recorded in the database.
Also remove the process_
really care if a certain module is using GPL or MIT license. We care
if it's tainting the kernel.
Update the DGX / RPI modules based on actual test result.
Description of the change
Patch tested with DGX B/F and RPI B/F/J, including testing them with entries removed from the database to make sure they will fail as expected.
Example output for F-DGX:
Running 'python3 /home/ubuntu/
Kernel taint value is 12289
Taint bit value: 0 (proprietary module was loaded)
Exception made in test script for: nvidia_drm
Exception made in test script for: nvidia_modeset
Exception made in test script for: nvidia
* Proprietary modules found, but they are expected and OK
Taint bit value: 12 (externally-built ('out-of-tree') module was loaded)
Exception made in test script for: nvidia_uvm
Exception made in test script for: nvidia_drm
Exception made in test script for: nvidia_modeset
Exception made in test script for: mlx5_ib
Exception made in test script for: ib_uverbs
Exception made in test script for: nvidia
Exception made in test script for: ib_core
Exception made in test script for: mlx5_core
Exception made in test script for: mlxdevm
Exception made in test script for: auxiliary
Exception made in test script for: mlxfw
Exception made in test script for: mlx_compat
* Out of Tree modules found, but they are expected and OK
Taint bit value: 13 (unsigned module was loaded)
Exception made in test script for: mlx5_ib
Exception made in test script for: ib_uverbs
Exception made in test script for: ib_core
Exception made in test script for: mlx5_core
Exception made in test script for: mlxdevm
Exception made in test script for: auxiliary
Exception made in test script for: mlxfw
Exception made in test script for: mlx_compat
* Unsigned modules found, but they are expected and OK
Kernel tainted but in an expected way.
GOOD: Test Passed.
+1