Bug 215241
Summary: | "usbreset" tool causes hung task on kernel 5.15.3+ with Hauppauge WinTV dualHD | ||
---|---|---|---|
Product: | Drivers | Reporter: | Maximilian Böhm (mabo) |
Component: | USB | Assignee: | Default virtual assignee for Drivers/USB (drivers_usb) |
Status: | NEW --- | ||
Severity: | normal | ||
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 5.15.3 | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: | Dmesg log |
You can try using "git bisect" to find the commit which caused this bad behavior. I’m trying, but "git tag" is only showing me versions from 2.6.11 to 5.9.9. Ah, it’s counting "v5.1.9, v5.10", what a mess. OK, I’m on it. Hallo again, found the commit: $ git bisect bad 2899243f272f8801dceb1bb692bd1a3ae3f281c2 is the first bad commit commit 2899243f272f8801dceb1bb692bd1a3ae3f281c2 Author: Pavel Skripkin <paskripkin@gmail.com> Date: Thu Jul 29 22:23:33 2021 +0200 media: em28xx: add missing em28xx_close_extension [ Upstream commit 2c98b8a3458df03abdc6945bbef67ef91d181938 ] If em28xx dev has ->dev_next pointer, we need to delete ->dev_next list node from em28xx_extension_devlist on disconnect to avoid UAF bugs and corrupted list bugs, since driver frees this pointer on disconnect. Reported-and-tested-by: syzbot+a6969ef522a36d3344c9@syzkaller.appspotmail.com Fixes: 1a23f81b7dc3 ("V4L/DVB (9979): em28xx: move usb probe code to a proper place") Signed-off-by: Pavel Skripkin <paskripkin@gmail.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org> drivers/media/usb/em28xx/em28xx-cards.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) What next? You should write to Paul Skripkin, telling him about this problem. And CC: all the people listed on the Signed-off-by: lines, as well as the linux-media@vger.kernel.org list. |
Created attachment 299917 [details] Dmesg log Hello, I have a Hauppauge WinTV dualHD DVB-T2 USB card and need to use the nifty tool usbreset to reset its connection after each standby because else it won’t work. Recently, starting with Linux 5.15.3, usbreset started causing severe hangs even to the point of my system being unable to do a proper reboot or shutdown. Same with 5.16.0-rc3. I’m now back on 5.13.2 without this problem. In the attachment you can read a dmesg log. Distro is Arch Linux.