Re: INFO: task hung in chaoskey_disconnect
From: Stephen Boyd
Date: Fri Nov 15 2019 - 13:47:51 EST
Quoting syzbot (2019-11-06 04:32:09)
> Hello,
>
> syzbot found the following crash on:
>
> HEAD commit: b1aa9d83 usb: raw: add raw-gadget interface
> git tree: https://github.com/google/kasan.git usb-fuzzer
> console output: https://syzkaller.appspot.com/x/log.txt?x=16ae2adce00000
> kernel config: https://syzkaller.appspot.com/x/.config?x=79de80330003b5f7
> dashboard link: https://syzkaller.appspot.com/bug?extid=f41c4f7c6d8b0b778780
> compiler: gcc (GCC) 9.0.0 20181231 (experimental)
> syz repro: https://syzkaller.appspot.com/x/repro.syz?x=10248158e00000
> C reproducer: https://syzkaller.appspot.com/x/repro.c?x=16afbf7ce00000
>
> IMPORTANT: if you fix the bug, please add the following tag to the commit:
> Reported-by: syzbot+f41c4f7c6d8b0b778780@xxxxxxxxxxxxxxxxxxxxxxxxx
>
There are two reports. Let's test this one too.
#syz test: https://github.com/google/kasan.git b1aa9d83
diff --git a/drivers/char/random.c b/drivers/char/random.c
index 5b799aa973a3..c487709499fc 100644
--- a/drivers/char/random.c
+++ b/drivers/char/random.c
@@ -2440,8 +2440,8 @@ void add_hwgenerator_randomness(const char *buffer, size_t count,
* We'll be woken up again once below random_write_wakeup_thresh,
* or when the calling thread is about to terminate.
*/
- wait_event_freezable(random_write_wait,
- kthread_should_stop() ||
+ wait_event_interruptible(random_write_wait,
+ kthread_should_stop() || freezing(current) ||
ENTROPY_BITS(&input_pool) <= random_write_wakeup_bits);
mix_pool_bytes(poolp, buffer, count);
credit_entropy_bits(poolp, entropy);