powerpc/livepatch: Implement reliable stack tracing for the consistency model
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
The Ubuntu-power-systems project |
Fix Released
|
High
|
Canonical Kernel Team | ||
linux (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Bionic |
Fix Released
|
High
|
Unassigned | ||
Cosmic |
Fix Released
|
High
|
Unassigned |
Bug Description
== SRU Justification ==
Livepatch has a consistency model which is a hybrid of kGraft and kpatch:
it uses kGraft's per-task consistency and syscall barrier switching
combined with kpatch's stack trace switching. The current approach is
stack checking of sleeping tasks. If no affected functions are on the
stack of a given task, the task is patched. In most cases this will patch
most or all of the tasks on the first try. Otherwise, it'll keep trying
periodically. This patch implements the reliable stack tracing for
consistency model a.k.a HAVE_RELIABLE_
This will help in switching livepatching implementation to basic per-task
consistency model. It is the foundation, which will help us enable
security patches changing function or data semantics. This is the biggest
remaining piece needed on ppc64le to make livepatch more generally useful.
== Fix ==
df78d3f61480 ("powerpc/
== Regression Potential ==
Low. Limited to powerpc.
== Test Case ==
A test kernel was built with this patch and tested by the original bug reporter.
The bug reporter states the test kernel resolved the bug.
CVE References
tags: | added: architecture-ppc64le bugnameltc-167879 severity-critical targetmilestone-inin1804 |
Changed in ubuntu: | |
assignee: | nobody → Ubuntu on IBM Power Systems Bug Triage (ubuntu-power-triage) |
affects: | ubuntu → linux (Ubuntu) |
Changed in ubuntu-power-systems: | |
status: | New → Triaged |
tags: | added: triage-g |
Changed in ubuntu-power-systems: | |
importance: | Undecided → High |
assignee: | nobody → Canonical Kernel Team (canonical-kernel-team) |
tags: |
added: targetmilestone-inin18041 removed: targetmilestone-inin1804 |
tags: |
added: targetmilestone-inin1804 removed: targetmilestone-inin18041 |
Changed in linux (Ubuntu): | |
importance: | Undecided → High |
status: | New → Triaged |
Changed in linux (Ubuntu Bionic): | |
status: | New → In Progress |
Changed in linux (Ubuntu Cosmic): | |
status: | Triaged → In Progress |
Changed in linux (Ubuntu Bionic): | |
assignee: | nobody → Joseph Salisbury (jsalisbury) |
Changed in linux (Ubuntu Cosmic): | |
assignee: | Ubuntu on IBM Power Systems Bug Triage (ubuntu-power-triage) → Joseph Salisbury (jsalisbury) |
Changed in linux (Ubuntu Bionic): | |
importance: | Undecided → High |
Changed in ubuntu-power-systems: | |
status: | Triaged → In Progress |
Changed in linux (Ubuntu Bionic): | |
status: | In Progress → Fix Committed |
Changed in ubuntu-power-systems: | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Cosmic): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Cosmic): | |
status: | Fix Committed → Fix Released |
Changed in ubuntu-power-systems: | |
status: | Fix Committed → Fix Released |
tags: | added: cscc |
I built a test kernel with commit df78d3f6148092d 33a9a24c7a9cfac 3d0220b484. The test kernel can be downloaded from: kernel. ubuntu. com/~jsalisbury /lp1771844
http://
Can you test this kernel and see if it resolves this bug?
Note about installing test kernels: unsigned, linux-modules and linux-modules-extra .deb packages.
• If the test kernel is prior to 4.15(Bionic) you need to install the linux-image and linux-image-extra .deb packages.
• If the test kernel is 4.15(Bionic) or newer, you need to install the linux-image-
Thanks in advance!