]> git.baikalelectronics.ru Git - kernel.git/commit
random: deobfuscate irq u32/u64 contributions
authorJason A. Donenfeld <Jason@zx2c4.com>
Thu, 10 Feb 2022 16:01:27 +0000 (17:01 +0100)
committerJason A. Donenfeld <Jason@zx2c4.com>
Mon, 21 Feb 2022 20:14:00 +0000 (21:14 +0100)
commit9a47dda4b3f1f31024a87472274aff4aed095e7d
tree4e26f85070836223d61537c74d7266638954c89b
parentaf68f0fd76c99f7b9460c670acd7c6bf485daee5
random: deobfuscate irq u32/u64 contributions

In the irq handler, we fill out 16 bytes differently on 32-bit and
64-bit platforms, and for 32-bit vs 64-bit cycle counters, which doesn't
always correspond with the bitness of the platform. Whether or not you
like this strangeness, it is a matter of fact.  But it might not be a
fact you well realized until now, because the code that loaded the irq
info into 4 32-bit words was quite confusing.  Instead, this commit
makes everything explicit by having separate (compile-time) branches for
32-bit and 64-bit types.

Cc: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
drivers/char/random.c