Skip to content
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

Closed
wants to merge 14 commits into from

Conversation

DarkRTA
Copy link
Contributor

@DarkRTA DarkRTA commented Sep 10, 2020

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.

@CryZe
Copy link
Collaborator

CryZe commented Sep 10, 2020

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.

@DarkRTA DarkRTA force-pushed the livesplit-exec branch 2 times, most recently from aea7334 to 183e5d0 Compare September 10, 2020 17:13
@DarkRTA
Copy link
Contributor Author

DarkRTA commented Sep 10, 2020

I went ahead and wrote some more documentation for this. Let me know if there's anything else you want changed.

@kitlith
Copy link

kitlith commented Sep 11, 2020

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?

@DarkRTA
Copy link
Contributor Author

DarkRTA commented Sep 14, 2020

@kitlith: I've pretty much rewrote the first paragraph to explicitly mention Yama and added a note about it not working if ptrace_scope > 1. I did oversimplify it a bit for terseness but its enough to get why its needed.

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

@kitlith
Copy link

kitlith commented Sep 14, 2020

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.

@DarkRTA
Copy link
Contributor Author

DarkRTA commented Jan 8, 2022

closing this as we are going to handle this in a much better way

@DarkRTA DarkRTA closed this Jan 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants