]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
cdc-acm: close race betrween suspend() and acm_softint
authorOliver Neukum <oneukum@suse.com>
Wed, 15 Apr 2020 15:13:57 +0000 (17:13 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 2 May 2020 15:24:37 +0000 (17:24 +0200)
commitd87746ffb6e47fab8ef19b3d608edbc4924d2076
treefd4cd737018aa414cf0fde13ea3fbcf1d5e4dbc3
parent31ee8dfac96aa68a04b05fd7c573dd509a27ed0d
cdc-acm: close race betrween suspend() and acm_softint

commit 0afccd7601514c4b83d8cc58c740089cc447051d upstream.

Suspend increments a counter, then kills the URBs,
then kills the scheduled work. The scheduled work, however,
may reschedule the URBs. Fix this by having the work
check the counter.

Signed-off-by: Oliver Neukum <oneukum@suse.com>
Cc: stable <stable@vger.kernel.org>
Tested-by: Jonas Karlsson <jonas.karlsson@actia.se>
Link: https://lore.kernel.org/r/20200415151358.32664-1-oneukum@suse.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/class/cdc-acm.c