systemtap does not work on trusty lts-vivid kernel
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
systemtap (Ubuntu) |
Fix Released
|
Undecided
|
Dan Streetman | ||
Trusty |
Fix Released
|
Undecided
|
Dan Streetman |
Bug Description
[Impact]
Attempting to use systemtap on trusty with the lts-vivid kernel fails with:
In file included from /usr/share/
/usr/share/
/usr/share/
dentry = vma->vm_
/usr/share/
/usr/share/
tsk_euid = task_euid(tsk);
^
/usr/share/
/usr/share/
/usr/share/
/usr/share/
tsk_euid = task_euid(tsk);
^
In file included from /usr/share/
/usr/share/
/usr/share/
preempt_
^
In file included from include/
/usr/share/
include/
#define current_euid() (current_
/usr/share/
uid_t euid = current_euid();
^
In file included from /usr/share/
/usr/share/
/usr/share/
_stp_uid = current_uid();
^
/usr/share/
_stp_gid = current_gid();
^
cc1: all warnings being treated as errors
make[1]: *** [/tmp/stapcEoS7
make: *** [_module_
WARNING: kbuild exited with status: 2
Pass 4: compilation failed. [man error::pass4]
Tip: /usr/share/
[Test Case]
on a trusty system that's running a lts-vivid kernel, with the kernel dbgsym deb installed, simply create a dummy systemtap script and try to run it, e.g.
$ cat test.stap
#!/usr/bin/stap
probe kernel.
println("hello")
}
$ sudo stap test.stap
the above compliation failure will happen.
[Regression Potential]
As this only changes how systemtap uses the kernel header structures, the most likely regression is systemtap failing to compile on earlier kernels.
I tested on the trusty 3.13 kernel and the updated stap does still compile and run the test case above.
[Other Info]
The commits provided in the debdiff fix systemtap to correctly use the kernel header functions for the newer kernel; they are cherry-picked from upstream systemtap.
Changed in systemtap (Ubuntu Trusty): | |
assignee: | nobody → Dan Streetman (ddstreet) |
Changed in systemtap (Ubuntu): | |
status: | New → Fix Released |
assignee: | Dan Streetman (ddstreet) → nobody |
Changed in systemtap (Ubuntu Trusty): | |
status: | New → In Progress |
Changed in systemtap (Ubuntu): | |
assignee: | nobody → Dan Streetman (ddstreet) |
tags: | added: sts-sru |
description: | updated |
tags: | removed: sts-sru |
From the upstream repo, git://sourcewar e.org/git/ systemtap. git, these commits are required (in reverse chronological order):
4f570bf5df317f3 d5275b8e8a0cb5d e8c2232f25 fd701d75a4814db 87913d57bd 3932372f576eb83 38543abb0f 1fe64f96fbef37d 484da6204c a0109694851ff01 3b1da4f50e 186e82f4afe233b 00b7eb242e
c91d2e7cc991068
22a78a3e79331f8
f1676ba1a5f6028
651a87924c22fff
547f6291433b574