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:12:57 +0000 (09:12 +0200)
commit6c60bbbc94b8f086fcb831214fa319ac8117767d
tree3dc6d544a181578e2f171b25e54a1a7d41a8155e
parent6577b550df89766d10375aacc87c56a4658c3776
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.15/120-hwrng-geode-fix-accessing-registers.patch [new file with mode: 0644]