On Mon, 19 Jul 2021 06:42:25 -0700
syzbot [off-list ref] wrote:
Hello,
syzbot found the following issue on:
HEAD commit: 8096acd7442e Merge tag 'net-5.14-rc2' of
git://git.kernel... git tree: upstream
console output:
https://syzkaller.appspot.com/x/log.txt?x=167ca94a300000 kernel
config: https://syzkaller.appspot.com/x/.config?x=5294764a378649cb
dashboard link:
https://syzkaller.appspot.com/bug?extid=cc699626e48a6ebaf295
compiler: Debian clang version 11.0.1-2 syz repro:
https://syzkaller.appspot.com/x/repro.syz?x=14d68024300000 C
reproducer: https://syzkaller.appspot.com/x/repro.c?x=16e4f180300000
IMPORTANT: if you fix the issue, please add the following tag to the
commit: Reported-by:
syzbot+cc699626e48a6ebaf295@syzkaller.appspotmail.com
==================================================================
BUG: KASAN: slab-out-of-bounds in debug_spin_lock_before
kernel/locking/spinlock_debug.c:83 [inline] BUG: KASAN:
slab-out-of-bounds in do_raw_spin_lock+0x4f5/0x8e0
kernel/locking/spinlock_debug.c:112 Read of size 4 at addr
ffff88802b46ce14 by task kworker/0:6/8471
I don't see any reason behind doing clean up stuff in firmware
callback. In my prevoius patch to this driver I fixed memory leak and, I
believed, that this approach won't trigger anything else...
Let's just call device_release_driver() under parent lock in case of
firmware load failure and see if it works.
#syz test
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
With regards,
Pavel Skripkin