Hard NACK on this patchset. Issues: - The superficial ones that Greg's mailbot is now emailing you about: improper threading, missing sign off, bad whitespace, poor coding style, etc - We don't need XTEA for this; there are probably better choices these days. - Distinction between "get_hw_long()" and arch_get_random_long() doesn't exist, since get_random_bytes_arch() just calls arch_get_random_long(). - Even if we did want this, replacing arch_get_random_seed_long(), a function meant to supply a *fresh* value from a hardware source, with something more deterministic changes the intention. - Likewise the cycle counter is supposed to be at least a little bit entropic, some of the time, maybe, in the best of circumstances, perhaps... whereas expanding an XTEA key that's seeded from that same cycle counter (in the absence of other things) at one point in time seems clearly worse. - Probably others, but after 10 minutes of reading this it seemed like it wasn't worth it to go further.