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

libafl_bolts: rands super mega ultra giga house cleaning of doom #2123

Merged
merged 5 commits into from
Apr 29, 2024

Conversation

flyingmutant
Copy link
Contributor

Fixes #2101.

@domenukk
Copy link
Member

Do we really want to remove working rngs?

@flyingmutant
Copy link
Contributor Author

I've written the rationale in the commit message. This is a controversial thing, for sure, I can leave them in if you prefer. My idea was to leave only some kind of "Pareto frontier" of generators, with romuduojr being the fastest, xoshiro being the one of the most popular, and sfc being the all-around solid choice.

@addisoncrump
Copy link
Collaborator

Instead of removing RNGs, please mark them with #[deprecated = "<reason>"]. You can use #[allow(deprecated)] in tests and implementations.

Part of the reason for LibAFL's existence is not just to have good perf all the time, but to have the best performance for the given task. Suppose someone comes along and wants to evaluate the actual effects of low entropy random in fuzzing; it is totally legitimate for them to select "bad" RNGs. This is a bit of a contrived example, of course, but this is also relevant for e.g. reproduction works and avoiding breaking user code where possible/reasonable.

@flyingmutant
Copy link
Contributor Author

All PRNGs are back in! I decided not to deprecate anything in this PR -- this can be done separately.

@domenukk domenukk merged commit b49ab99 into AFLplusplus:main Apr 29, 2024
103 checks passed
@domenukk
Copy link
Member

Thank you! :)

@addisoncrump
Copy link
Collaborator

@flyingmutant Can you add an issue to deprecate these RNGs? Don't want to forget to do so.

@flyingmutant flyingmutant deleted the rand branch April 29, 2024 15:16
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.

Improve libafl_bolts/rands.rs
3 participants