]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
media: mceusb: return without resubmitting URB in case of -EPROTO error.
authorRajat Asthana <rajatasthana4@gmail.com>
Wed, 18 Aug 2021 20:31:10 +0000 (22:31 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 26 Nov 2021 10:58:37 +0000 (11:58 +0100)
[ Upstream commit 476db72e521983ecb847e4013b263072bb1110fc ]

Syzkaller reported a warning called "rcu detected stall in dummy_timer".

The error seems to be an error in mceusb_dev_recv(). In the case of
-EPROTO error, the routine immediately resubmits the URB. Instead it
should return without resubmitting URB.

Reported-by: syzbot+4d3749e9612c2cfab956@syzkaller.appspotmail.com
Signed-off-by: Rajat Asthana <rajatasthana4@gmail.com>
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/media/rc/mceusb.c

index 0fba4a2c160287c4313a18d4c937f1f9a4cb7f1a..7b9800d3446cf3775ee9b92e9c3fa34faf3c1108 100644 (file)
@@ -1079,6 +1079,7 @@ static void mceusb_dev_recv(struct urb *urb)
        case -ECONNRESET:
        case -ENOENT:
        case -EILSEQ:
+       case -EPROTO:
        case -ESHUTDOWN:
                usb_unlink_urb(urb);
                return;