-
Notifications
You must be signed in to change notification settings - Fork 58
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 a Linux-only tool needed for Auto Splitting to work correctly. #356
Conversation
The trait helps ensure a consistent API between platforms, with the struct methods delegating to the trait implementations.
With this (and a local api change) my portal autosplitter works without changes.
This is a prelude for having helper processes transfer this fd to the main process.
This may be a bit of a heavyweight solution, lmk and I'll revert this commit.
ac039c5
to
3212d2e
Compare
I'd like to see a significant amount of documentation why this is necessary, why there's no other option and how someone using auto splitting on Linux needs to use this. Also keep in mind that the auto splitter runtime is meant to be a library that can be used outside of LiveSplit One / livesplit-core, so a general explanation is necessary. Preferably all of that would be in the README that you already created. |
aea7334
to
183e5d0
Compare
I went ahead and wrote some more documentation for this. Let me know if there's anything else you want changed. |
183e5d0
to
b5852fd
Compare
Could you add a line or two to the documentation about how this is only necessary as a workaround for the mitigations introduced with https://www.kernel.org/doc/html/v4.15/admin-guide/LSM/Yama.html ? Does this work with mode 2 or just mode 1? |
b5852fd
to
1e3216e
Compare
@kitlith: I've pretty much rewrote the first paragraph to explicitly mention Yama and added a note about it not working if @CryZe: If you and kitlith feel this is sufficient, feel free to merge. At some point we should probably rewrite this to make this more clear as documentation is one of my weak points, but I feel this is sufficient for now. |
LGTM. I will note that we can probably expand this technique to work under level 2 if it comes up, but I don't think it's necessary until/unless someone actually complains about it. Come to think of it, could maybe even do something with purely LD_PRELOAD assuming /proc/self/mem still works... Well, we can leave that for another time. |
closing this as we are going to handle this in a much better way |
This adds a crate called
livesplit-exec
which is a small tool needed for Auto Splitting to work correctly on Linux.A script called
build.sh
is provided for convenience but I can remove this if desired.