linux/drivers/s390/cio
Jason Gunthorpe 9b0d6b7e28 vfio/ap,ccw: Fix open/close when multiple device FDs are open
The user can open multiple device FDs if it likes, however these open()
functions call vfio_register_notifier() on some device global
state. Calling vfio_register_notifier() twice in will trigger a WARN_ON
from notifier_chain_register() and the first close will wrongly delete the
notifier and more.

Since these really want the new open/close_device() semantics just change
the functions over.

Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/12-v4-9ea22c5e6afb+1adf-vfio_reflck_jgg@nvidia.com
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
2021-08-11 09:50:11 -06:00
..
airq.c s390: add struct tpi_info to struct pt_regs 2021-06-07 17:07:01 +02:00
blacklist.c
blacklist.h
ccwgroup.c s390/ccwgroup: use BUS_NOTIFY_UNBOUND_DRIVER to trigger ungrouping 2021-06-07 17:07:00 +02:00
ccwreq.c
chp.c s390/cio: dont call css_wait_for_slow_path() inside a lock 2021-06-18 16:41:19 +02:00
chp.h s390/cio: Add support for FCES status notification 2020-11-16 08:14:38 -07:00
chsc_sch.c s390/cio: remove pm support from chsc subchannel driver 2020-12-02 18:19:25 +01:00
chsc_sch.h
chsc.c s390/cio: dont call css_wait_for_slow_path() inside a lock 2021-06-18 16:41:19 +02:00
chsc.h s390/cio: Export information about Endpoint-Security Capability 2020-11-16 08:14:37 -07:00
cio_debug.h s390/cio: introduce CIO debugfs directory 2021-03-22 11:36:04 +01:00
cio_debugfs.c s390/cio: introduce CIO debugfs directory 2021-03-22 11:36:04 +01:00
cio_inject.c s390/cio: add CRW inject functionality 2021-03-22 11:36:04 +01:00
cio_inject.h s390/cio: add CRW inject functionality 2021-03-22 11:36:04 +01:00
cio.c s390: add struct tpi_info to struct pt_regs 2021-06-07 17:07:01 +02:00
cio.h s390/cio: add tpi.h header file 2021-06-07 17:07:01 +02:00
cmf.c s390/cmf: get rid of register asm 2021-06-28 11:18:28 +02:00
crw.c
css.c s390/cio: use DECLARE_WAIT_QUEUE_HEAD() for wait_queue 2021-04-05 11:30:57 +02:00
css.h s390/cio: remove pm support from css-bus driver 2020-12-02 18:19:25 +01:00
device_fsm.c s390/time,idle: get rid of unsigned long long 2021-03-08 10:46:27 +01:00
device_id.c
device_ops.c s390/cio: Helper functions to read CSSID, IID, and CHID 2020-09-15 13:21:46 -07:00
device_pgid.c
device_status.c
device.c s390/cio: remove invalid condition on IO_SCH_UNREG 2021-04-30 17:17:01 +02:00
device.h s390/cio: remove pm support from ccw bus driver 2020-12-02 18:19:25 +01:00
eadm_sch.c s390/cio: remove pm support from eadm-sch drivers 2020-12-02 18:19:24 +01:00
eadm_sch.h
fcx.c
idset.c
idset.h
io_sch.h s390/cio: remove pm support from ccw bus driver 2020-12-02 18:19:25 +01:00
ioasm.c s390/ioasm: use symbolic names for asm operands 2021-06-28 11:18:29 +02:00
ioasm.h
isc.c
itcw.c
Makefile s390/cio: add CRW inject functionality 2021-03-22 11:36:04 +01:00
orb.h
qdio_debug.c s390/qdio: inline qdio_kick_handler() 2021-02-13 17:17:55 +01:00
qdio_debug.h
qdio_main.c s390/qdio: get rid of register asm 2021-06-28 11:18:29 +02:00
qdio_setup.c s390/qdio: let driver manage the QAOB 2021-03-22 11:36:05 +01:00
qdio_thinint.c s390/qdio: track time of last data IRQ for each device 2021-02-09 15:57:04 +01:00
qdio.h s390/qdio: get rid of register asm 2021-06-28 11:18:29 +02:00
scm.c
trace.c
trace.h s390: use struct tpi_info in lowcore.h 2021-06-07 17:07:01 +02:00
vfio_ccw_async.c
vfio_ccw_chp.c vfio-ccw: Fix a build error due to missing include of linux/slab.h 2020-07-03 11:41:31 +02:00
vfio_ccw_cp.c vfio-ccw: Check initialized flag in cp_init() 2021-05-12 12:59:50 +02:00
vfio_ccw_cp.h
vfio_ccw_drv.c vfio-ccw: Serialize FSM IDLE state with I/O completion 2021-05-12 12:59:50 +02:00
vfio_ccw_fsm.c vfio-ccw: Reset FSM state to IDLE inside FSM 2021-05-12 12:59:50 +02:00
vfio_ccw_ops.c vfio/ap,ccw: Fix open/close when multiple device FDs are open 2021-08-11 09:50:11 -06:00
vfio_ccw_private.h vfio-ccw: Wire in the request callback 2020-12-03 16:21:08 -07:00
vfio_ccw_trace.c
vfio_ccw_trace.h