x86: geode: fix hwrng register accesses
authorJonas Gorski <jonas.gorski@gmail.com>
Sat, 9 Sep 2023 10:44:42 +0000 (12:44 +0200)
committerJonas Gorski <jonas.gorski@gmail.com>
Thu, 14 Sep 2023 07:32:27 +0000 (09:32 +0200)
commit3fe2875378d3a0dd2005f6212d4650395dbaab24
tree46f1db465ca8bb827bcf01d2539cf1283477a40f
parent8da4e8fb5687c93091c3759fb983bc59c6312683
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 <timur.davletshin@gmail.com>
Tested-by: Timur I. Davletshin <timur.davletshin@gmail.com>
Suggested-by: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
(cherry picked from commit 09d13cd8d87cc50fde67bbe81c6cca4b799b2724)
target/linux/x86/patches-5.10/120-hwrng-geode-fix-accessing-registers.patch [new file with mode: 0644]