rsi: fix use-after-free on failed probe and unbind
authorJohan Hovold <johan@kernel.org>
Thu, 28 Nov 2019 17:22:00 +0000 (18:22 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 22 May 2020 20:19:18 +0000 (21:19 +0100)
commit1d693c856dc25bf60fb5ad196721563d70023fee
tree7c6d0ae3820875818f7ad3dd5868b82665cad992
parent3084af7d52a4804b34cc6b25b5e42159a4e171ac
rsi: fix use-after-free on failed probe and unbind

commit e93cd35101b61e4c79149be2cfc927c4b28dc60c upstream.

Make sure to stop both URBs before returning after failed probe as well
as on disconnect to avoid use-after-free in the completion handler.

Reported-by: syzbot+b563b7f8dbe8223a51e8@syzkaller.appspotmail.com
Fixes: a4302bff28e2 ("rsi: add bluetooth rx endpoint")
Fixes: dad0d04fa7ba ("rsi: Add RS9113 wireless driver")
Cc: Siva Rebbagondla <siva.rebbagondla@redpinesignals.com>
Cc: Prameela Rani Garnepudi <prameela.j04cs@gmail.com>
Cc: Amitkumar Karwar <amit.karwar@redpinesignals.com>
Cc: Fariya Fatima <fariyaf@gmail.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
[bwh: Backported to 3.16: There is no BT support, so we only need to
 kill one URB on disconnect.]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/net/wireless/rsi/rsi_91x_usb.c