x86: geode: fix hwrng register accesses
authorJonas Gorski <[email protected]>
Sat, 9 Sep 2023 10:44:42 +0000 (12:44 +0200)
committerJonas Gorski <[email protected]>
Thu, 14 Sep 2023 09:36:57 +0000 (11:36 +0200)
commitac52e2013a03126ef181e596e6e63271cdbb3d35
treefcce4d67162e3099ebe6610e2f08cddaf3d909a7
parent383ae905a2991759f1cee402e52e58fbcefafbd7
x86: geode: fix hwrng register accesses

When the membase and pci_dev pointer were moved to a new struct in priv,
the actual membase users were left untouched, and they started reading
out arbitrary memory behind the struct instead of registers. This
unfortunately turned the RNG into a constant number generator, depending
on the content of what was at that offset.

To fix this, update geode_rng_data_{read,present}() to also get the
membase via amd_geode_priv, and properly read from the right addresses
again.

Closes #13417.

Reported-by: Timur I. Davletshin <[email protected]>
Tested-by: Timur I. Davletshin <[email protected]>
Suggested-by: Jo-Philipp Wich <[email protected]>
Signed-off-by: Jonas Gorski <[email protected]>
(cherry picked from commit 09d13cd8d87cc50fde67bbe81c6cca4b799b2724)
target/linux/x86/patches-5.4/120-hwrng-geode-fix-accessing-registers.patch [new file with mode: 0644]