Bypassing ptrace restrictions for errors from hanging applications
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Whoopsie |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
As part of the error reporting features in 12.10, we're adding the ability to generate reports from hanging applications. This requires that we can gdb attach and backtrace to an arbitrary PID running as the same user, which requires working around the restrictions set by the ptrace scope:
https:/
A new plugin for compiz will be written to notify a new dbus service on the system bus that it should write a gdb backtrace for the pid (provided by the _NET_WM_PID xprop. This service will only accept connections from the compiz process. It will only accept the request if the PID was running with a valid session cookie (unless this is overkill?).
How does that sound?
affects: | ubuntu → whoopsie-daisy (Ubuntu) |
Changed in whoopsie-daisy (Ubuntu): | |
status: | New → Triaged |
no longer affects: | whoopsie-daisy (Ubuntu) |
I don't think you want a root-run process to run gdb on arbitrary binaries, as I'm not sure how safe running gdb with elevated privileges on arbitrary binaries is.
Also, once the process has been traced, it needs to be protected so the user can't obtain the results, so a rogue process isn't able to bypass the ptrace restrictions by getting the system to do it for him.
I'm not quite sure how to handle this for the moment.