Skip to content

hwrng: core - Fix page fault dead lock on mmap-ed hwrng

Steve Best requested to merge sfbest/centos-stream-9:j29487a into main

JIRA: https://issues.redhat.com/browse/RHEL-29487
CVE: CVE-2023-52615

Build Info: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=59827735

Tested: Did sanity rng testing using rngtest.

commit 78aafb3884f6bc6636efcc1760c891c8500b9922
Author: Herbert Xu herbert@gondor.apana.org.au
Date: Sat Dec 2 09:01:54 2023 +0800

hwrng: core - Fix page fault dead lock on mmap-ed hwrng  

There is a dead-lock in the hwrng device read path.  This triggers  
when the user reads from /dev/hwrng into memory also mmap-ed from  
/dev/hwrng.  The resulting page fault triggers a recursive read  
which then dead-locks.  

Fix this by using a stack buffer when calling copy_to_user.  

Reported-by: Edward Adam Davis <eadavis@qq.com>  
Reported-by: syzbot+c52ab18308964d248092@syzkaller.appspotmail.com  
Fixes: 9996508b3353 ("hwrng: core - Replace u32 in driver API with byte array")  
Cc: <stable@vger.kernel.org>  
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>  

Signed-off-by: Steve Best sbest@redhat.com

Merge request reports