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>
Mon, 11 Sep 2023 19:34:16 +0000 (21:34 +0200)
commit09d13cd8d87cc50fde67bbe81c6cca4b799b2724
treea947b9fc77e5b504bd38bd276075b5eb3c8e7dbc
parente648e3ccf9f9f468fc7534c2fb4aa2f381011af1
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>
target/linux/x86/patches-5.15/120-hwrng-geode-fix-accessing-registers.patch [new file with mode: 0644]