uprobes: fix SIGSEGVs with setjmp/longjmp

Bug #1777840 reported by bugproxy
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu on IBM z Systems
Fix Released
High
Canonical Kernel Team
linux (Ubuntu)
Fix Released
High
Joseph Salisbury
Bionic
Fix Released
High
Joseph Salisbury

Bug Description

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

Upstream-ID: 783c3b53b9506db3e05daacfe34e0287eebb09d8

bugproxy (bugproxy)
tags: added: architecture-s39064 bugnameltc-169027 severity-high targetmilestone-inin---
Changed in ubuntu:
assignee: nobody → Skipper Bug Screeners (skipper-screen-team)
affects: ubuntu → linux (Ubuntu)
Frank Heimes (fheimes)
Changed in ubuntu-z-systems:
status: New → Triaged
importance: Undecided → High
assignee: nobody → Canonical Kernel Team (canonical-kernel-team)
Changed in linux (Ubuntu):
importance: Undecided → High
status: New → Triaged
Changed in linux (Ubuntu Bionic):
status: New → Triaged
importance: Undecided → High
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

I built a test kernel with commit 783c3b53b9506db3e05daacfe34e0287eebb09d8. The test kernel can be downloaded from:
http://kernel.ubuntu.com/~jsalisbury/lp1777840

Can you test this kernel and see if it resolves this bug?

Note about installing test kernels:
• 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-modules, linux-modules-extra and linux-image-unsigned .deb packages.

Thanks in advance!

Changed in linux (Ubuntu Bionic):
assignee: nobody → Joseph Salisbury (jsalisbury)
Changed in linux (Ubuntu):
assignee: Skipper Bug Screeners (skipper-screen-team) → Joseph Salisbury (jsalisbury)
Changed in linux (Ubuntu Bionic):
status: Triaged → In Progress
Changed in linux (Ubuntu):
status: Triaged → In Progress
Frank Heimes (fheimes)
Changed in ubuntu-z-systems:
status: Triaged → In Progress
Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- Comment From <email address hidden> 2018-06-21 07:20 EDT-------
Patch verified upfront

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :
description: updated
Changed in linux (Ubuntu):
status: In Progress → Fix Released
Changed in linux (Ubuntu Bionic):
status: In Progress → Fix Released
Changed in ubuntu-z-systems:
status: In Progress → Fix Released
bugproxy (bugproxy)
tags: added: targetmilestone-inin1804
removed: targetmilestone-inin---
Revision history for this message
bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2018-10-26 03:55 EDT-------
IBM Bugzilla status-> closed, Fix Released

Brad Figg (brad-figg)
tags: added: cscc
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.