]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
s390/qeth: cancel close_dev work before removing a card
authorJulian Wiedmann <jwi@linux.ibm.com>
Mon, 4 Feb 2019 16:40:08 +0000 (17:40 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Thu, 2 May 2019 20:41:38 +0000 (21:41 +0100)
commit84e4dff779d4cf87aa4219ccdd1e002f4f3fa817
tree248219dcdcfd6868b7bbf8606fa22286a6dfaec4
parentfaffccc0c136ed063913a1ce85ffb1c7998c0273
s390/qeth: cancel close_dev work before removing a card

commit c2780c1a3fb724560b1d44f7976e0de17bf153c7 upstream.

A card's close_dev work is scheduled on a driver-wide workqueue. If the
card is removed and freed while the work is still active, this causes a
use-after-free.
So make sure that the work is completed before freeing the card.

Fixes: 0f54761d167f ("qeth: Support VEPA mode")
Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
[bwh: Backported to 3.16: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/s390/net/qeth_core.h
drivers/s390/net/qeth_l2_main.c
drivers/s390/net/qeth_l3_main.c