mbox series

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

Message ID cover.1529501006.git.joseph.salisbury@canonical.com
Headers show
Series s390/uprobes: implement arch_uretprobe_is_alive() | expand

Message

Joseph Salisbury June 22, 2018, 4:31 p.m. UTC
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(+)

Comments

Kleber Sacilotto de Souza July 30, 2018, 1:57 p.m. UTC | #1
On 06/22/18 18:31, Joseph Salisbury wrote:
> 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(+)
> 

Hi Joseph,

The requested fix has already been applied as part of "Bionic update:
upstream stable patchset 2018-06-06" (LP: #1775483), which has already
been released so the bug report can be marked as fixed.


Thanks,
Kleber