[SRU][Bionic][PATCH 0/1] s390/uprobes: implement arch_uretprobe_is_alive()

Joseph Salisbury joseph.salisbury at canonical.com
Fri Jun 22 16:31:49 UTC 2018


BugLink: http://bugs.launchpad.net/bugs/1777840

== SRU Justification ==
This commit fixes SIGSEGVs with setjmp/longjmp.

Symptom:
 Setting a user space return probe on a function that does not
 return because of a longjmp call may cause SIGSEGV or SIGILL.

Problem:
 Userspace can do whatever it wants with its stack. Especially
 stack modifications performed with longjmp cannot be handled 100%
 correctly within the uprobes kernel part, which may lead to user
 space observed crashed.

Solution:
  Implement arch_uretprobe_is_alive() which improves the situation
  a lot and works for many situations.

This commit has also been cc'd to upstream stable, but it has not landed
in Bionic as of yet.

== Fix ==
783c3b53b950 ("s390/uprobes: implement arch_uretprobe_is_alive()")

== Regression Potential ==
Low.  Limited to s390.  The commit has also been cc'd to upstream
stable, so it has had additional upstream review.

== 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.

Heiko Carstens (1):
  s390/uprobes: implement arch_uretprobe_is_alive()

 arch/s390/kernel/uprobes.c | 9 +++++++++
 1 file changed, 9 insertions(+)

-- 
2.7.4





More information about the kernel-team mailing list