[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5dcef2d1.1c69fb81.803c0.0872@mx.google.com>
Date: Fri, 15 Nov 2019 10:47:44 -0800
From: Stephen Boyd <swboyd@...omium.org>
To: alexandre.belloni@...tlin.com, andreyknvl@...gle.com,
arnd@...db.de, b.zolnierkie@...sung.com,
gregkh@...uxfoundation.org, herbert@...dor.apana.org.au,
linux-crypto@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-usb@...r.kernel.org, lvivier@...hat.com,
mchehab+samsung@...nel.org, mpm@...enic.com,
syzbot <syzbot+f41c4f7c6d8b0b778780@...kaller.appspotmail.com>,
syzkaller-bugs@...glegroups.com
Subject: Re: INFO: task hung in chaoskey_disconnect
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@...kaller.appspotmail.com
>
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);
Powered by blists - more mailing lists