[Potential Regression] dscr_inherit_exec_test from powerpc in ubuntu_kernel_selftests failed on B/E/F
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Medium
|
Thadeu Lima de Souza Cascardo | ||
Eoan |
Won't Fix
|
Undecided
|
Thadeu Lima de Souza Cascardo | ||
Focal |
Fix Released
|
Medium
|
Thadeu Lima de Souza Cascardo |
Bug Description
[Impact]
Code that touches DSCR user MSR does not set dscr_inherit, which breaks DSCR restore doing context switches and inheritance when forking. DSCR is used to control cache hinting. This is caused by lack of kernel interrupt when the DSCR user MSR is written, which is controlled by FSCR which would otherwise cause a facility unavailable interrupt.
[Test case]
apt-get source linux
cd linux-5.
make -j 32
make -C dscr run_tests
make -C ptrace run_tests
make -C tm run_tests
Look up for "not ok" versus "ok", specially for dscr_inherit_
[Potential regression]
Manipulating DSCR might break on different machines (with DTs containing
/cpus/ibm,
=======
Issue found on 5.3.0-64.58 with P8 node modoc (passed with P9 node)
# selftests: powerpc/dscr: dscr_inherit_
# test: dscr_inherit_
# tags: git_version:unknown
# Parent DSCR 1 was not inherited over exec (kernel value)
# Child didn't exit cleanly
# failure: dscr_inherit_
not ok 5 selftests: powerpc/dscr: dscr_inherit_
tags: | added: 5.3 eoan kqa-blocker ppc64el sru-20200629 ubuntu-kernel-selftests |
Changed in linux (Ubuntu Eoan): | |
status: | Incomplete → Confirmed |
assignee: | nobody → Thadeu Lima de Souza Cascardo (cascardo) |
no longer affects: | ubuntu-kernel-tests |
no longer affects: | ubuntu-kernel-tests/trunk |
Changed in linux (Ubuntu Focal): | |
assignee: | nobody → Thadeu Lima de Souza Cascardo (cascardo) |
Changed in linux (Ubuntu Bionic): | |
assignee: | nobody → Thadeu Lima de Souza Cascardo (cascardo) |
Changed in linux (Ubuntu Focal): | |
status: | New → In Progress |
Changed in linux (Ubuntu Bionic): | |
status: | New → Triaged |
Changed in linux (Ubuntu): | |
status: | Incomplete → Invalid |
description: | updated |
Changed in linux (Ubuntu Bionic): | |
status: | Triaged → In Progress |
Changed in linux (Ubuntu Focal): | |
status: | In Progress → Fix Committed |
importance: | Undecided → High |
importance: | High → Medium |
Changed in linux (Ubuntu Bionic): | |
importance: | Undecided → Medium |
Changed in linux (Ubuntu Bionic): | |
status: | In Progress → Fix Committed |
Test passed with 5.3.0-62.56: exec_test exec_test f21e446- dirty exec_test exec_test
# selftests: powerpc/dscr: dscr_inherit_
# test: dscr_inherit_
# tags: git_version:
# success: dscr_inherit_
ok 5 selftests: powerpc/dscr: dscr_inherit_