2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-23 04:54:01 +08:00
linux-next/drivers/s390
Julian Wiedmann c8183f5489 s390/qeth: fix potential deadlock on workqueue flush
The L2 bridgeport code uses the coarse 'conf_mutex' for guarding access
to its configuration state.
This can result in a deadlock when qeth_l2_stop_card() - called under the
conf_mutex - blocks on flush_workqueue() to wait for the completion of
pending bridgeport workers. Such workers would also need to aquire
the conf_mutex, stalling indefinitely.

Introduce a lock that specifically guards the bridgeport configuration,
so that the workers no longer need the conf_mutex.
Wrapping qeth_l2_promisc_to_bridge() in this fine-grained lock then also
fixes a theoretical race against a concurrent qeth_bridge_port_role_store()
operation.

Fixes: c0a2e4d10d ("s390/qeth: conclude all event processing before offlining a card")
Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Reviewed-by: Alexandra Winter <wintera@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-11-20 12:29:47 -08:00
..
block Revert "s390/dasd: Add discard support for ESE volumes" 2019-10-01 09:53:36 -06:00
char s390 updates for the 5.4 merge window 2019-09-17 14:04:43 -07:00
cio s390/cio: fix virtio-ccw DMA without PV 2019-10-10 10:49:46 +02:00
crypto s390/zcrypt: fix memleak at release 2019-10-22 17:55:51 +02:00
net s390/qeth: fix potential deadlock on workqueue flush 2019-11-20 12:29:47 -08:00
scsi scsi: zfcp: fix reaction on bit error threshold notification 2019-10-03 21:45:53 -04:00
virtio virtio/s390: fix race on airq_areas[] 2019-07-26 13:36:18 +02:00
Makefile s390: remove pointless drivers-y in drivers/s390/Makefile 2019-09-16 13:21:51 +02:00