User Details
- User Since
- Jul 9 2015, 9:56 PM (533 w, 4 d)
Sat, Sep 20
Aug 29 2025
8 bits per byte might be high for some sources... I'm not sure. It's probably fine for the relatively simplistic tests in the health test?
Aug 28 2025
Should we add a comment on the hc_source_mask definition about its locking/access protocol? LGTM.
Aug 18 2025
I'll take your word for it :)
Jul 25 2025
Jul 24 2025
Otherwise seems unobjectionable to me.
Jul 7 2025
Oops. :-)
Jul 4 2025
Thanks -- lgtm otherwise.
Commit message nit:
Seems reasonable.
Jul 1 2025
Thanks!
No real objection to this overall approach, but we could also just fix the MPSC queue, right? (release stores for ring.in on the producer side and acquire loads on the consumer side.) (More generally, maybe it would be good to have some sort of generic, correct MPSC implementation that this subsystem can use, instead of the bespoke thing.)
lgtm otherwise
May 27 2025
FYI, it's best practice to generate diffs with full context (-U999999 or whatever).
Dec 8 2024
Is the associated hardware documentation public, and if so, could you link to it?
Nov 29 2024
I have no objection.
Nov 21 2024
Yes, yes. It is easier to analyze with e.g. rand2() % 3. But you and Ed have both mentioned a way to measure this for rand32 more tractably -- great!
Nov 20 2024
Yeah, you can do a simple bias test with an upper limit of 3 for example. Bucket 0 is more likely than buckets 1 and 2 under a simplistic rand32() % 3 implementation. Or something like that. It is probably easier to measure with a smaller power of 2 generator.
Nov 18 2024
Some context on the Lemire idea if others haven't seen it:
Nov 16 2024
Oct 9 2024
Oct 7 2024
Sep 18 2024
This is now sort of a layering violation, right? We're assuming Fortuna implements devrandom, but the interface is pluggable. We have 2-3 implementations in tree, and integrators might write their own for compliance reasons.
Sep 12 2024
In random_early_prime we divide the input into blocks of size sizeof(event.he_entropy)) and then process those one by one, with each block only being fed into one pool. so simply padding the entropy with zeros would result in most of the pools having no entropy.
I don't think there's any reason to spread this using pbkdf2 just to defeat the Fortuna input seeding thresholds. You might as well seed the 64 bytes and then 2048-64 bytes of zero, or whatever. (Internally Fortuna is compressing the provided seed material using SHA2.)
Jul 15 2024
Aug 28 2023
Jul 16 2023
Jul 13 2023
May 18 2023
Mar 4 2023
Mar 3 2023
Nice observation and fix.
No objection. I'll let someone else stamp it.
Feb 27 2023
Sep 29 2022
Nevermind
Sep 26 2022
Sep 23 2022
Aug 31 2022
Aug 9 2022
As mentioned in email, we might also consider publishing a seed generation to the VDSO page from Fortuna.
Jul 13 2022
Something to keep in mind re: exactly 64 is that it's possible for entropy sources to return less entropy than was requested, if for example some internal state means they don't have anything available at the moment. That's one reason I prefer polling repeatedly until seeded (or some spin threshold is crossed).
Discussed with: cem
Jun 6 2022
May 25 2022
May 24 2022
May 14 2022
Seems reasonable to me.
May 12 2022
Seems very reasonable to me. Thanks!
Apr 18 2022
LGTM. My only bikeshed contribution is maybe gctl_get_devnameparam or get_devparam. But I don’t object to the current name.
Mar 20 2022
Mar 16 2022
Mar 1 2022
Setting cstd seems strongly preferable vs making upstream updates more difficult.
Feb 28 2022
Either way seems fine to me. I’d ask vangyzen or bdrewery for input.
Feb 11 2022
Feb 9 2022
Feb 6 2022
Looks like TESTAB expects boolean (0 and 1) values, too.
Feb 4 2022
Feb 3 2022
Looks fine to me. We should probably also actively feed jitter entropy if we hit the blocked state on boot, but that doesn't mean we shouldn't just do this first.
Feb 1 2022
Jan 8 2022
Typo in summary: s/path/patch/
Jan 3 2022
Thanks.
Dec 29 2021
I’m hoping emaste will be able to test and commit it.
Dec 28 2021
LGTM, thanks.
Dec 15 2021
LGTM modulo overflow concern and what looks like a typo.
Dec 11 2021
Lgtm. I didn’t attempt to verify the asm implementation.