On Thu, May 06, 2021 at 08:37:25PM -0700, Peter Collingbourne wrote:
A valid implementation choice for the ChooseRandomNonExcludedTag() pseudocode function used by IRG is to behave in the same way as with GCR_EL1.RRND=0. This would mean that RGSR_EL1.SEED is used as an LFSR which must have a non-zero value in order for IRG to properly produce pseudorandom numbers. However, RGSR_EL1 is reset to an UNKNOWN value on soft reset and thus may reset to 0. Therefore we must initialize RGSR_EL1.SEED to a non-zero value in order to ensure that IRG behaves as expected.
Signed-off-by: Peter Collingbourne pcc@google.com Cc: stable@vger.kernel.org
Rather than a generic cc stable that goes all the way to 4.4, please add:
Fixes: 3b714d24ef17 ("arm64: mte: CPU feature detection and initial sysreg configuration") Cc: stable@vger.kernel.org # 5.10.x
Thanks.