This series fixes several bugs in qcom-rng, including failure to enable
the clock before accessing the hardware, generating biased random
numbers, and generating duplicate or non-random numbers due to missing
locking. To fix the latter bug, it drops the support for the
duplicative crypto_rng interface, which isn't used in practice, leaving
just hwrng which is the one that actually matters.
This series is targeting cryptodev/master
Changed in v2:
- Changed patch 3 to make the driver continue to be bound even when
hwrng is unsupported.
- Added blank line in patch 2
- Added Reviewed-by
Eric Biggers (4):
crypto: qcom-rng - Enable clock in hwrng case
crypto: qcom-rng - Allow zero as a random number
crypto: qcom-rng - Remove crypto_rng interface
hwrng: qcom - Move qcom-rng.c into drivers/char/hw_random/
arch/arm/configs/multi_v7_defconfig | 2 +-
arch/arm/configs/qcom_defconfig | 2 +-
arch/arm64/configs/defconfig | 2 +-
drivers/char/hw_random/Kconfig | 11 ++
drivers/char/hw_random/Makefile | 1 +
drivers/{crypto => char/hw_random}/qcom-rng.c | 156 +++---------------
drivers/crypto/Kconfig | 12 --
drivers/crypto/Makefile | 1 -
drivers/gpu/drm/ci/arm64.config | 2 +-
9 files changed, 41 insertions(+), 148 deletions(-)
rename drivers/{crypto => char/hw_random}/qcom-rng.c (53%)
base-commit: 79bbe453e5bfa6e1c6aa2e8329bfc8f152b81c9b
--
2.54.0.1064.gd145956f57-goog