-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add PR_SET_PTRACER to process and ssh.process #828
Conversation
It looks like the core dumps generated by GDB do not contain all of the data, at least as can be seen from PyElfTools. For example:
We can see that it looks like GDB is pulling the data directly from the original file.
|
This has to do with https://sourceware.org/bugzilla/show_bug.cgi?id=16092 |
24996f4
to
cb7b2cf
Compare
84ba5e3
to
9d213fc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While I haven't reviewed all of this in detail, it looks nice.
As long as you test it as well, as you deem feasible, you have my LGTM.
f04868d
to
2e73076
Compare
Travis and Codacy passed, Coveralls failed. There's currently no tests for any of the GDB functionality, so that's fine. |
Using
PR_SET_PTRACER
will avoid running into issues with debugging when kernel YAMA security settings are enabled.These can be disabled locally, but require root access. This is a problem for both rootless Travis CI testing, and e.g. debugging Wargame processes.
PR_SET_PTRACER
should have no negative functional effects, and only side-steps the YAMA mitigations (it does not permit any ptracer, UID/GID checks still apply, etc.).This grants us the ability to do e.g.
process.corefile
on systems with YAMA enforcing, like Travis.