This series addresses some pre-existing issues found in the
s390 vfio_ccw (DASD passthrough) driver.
v1: https://lore.kernel.org/r/20260714232208.1683788-1-farman@linux.ibm.com/
v2: https://lore.kernel.org/r/20260720201931.976660-1-farman@linux.ibm.com/
v3: https://lore.kernel.org/r/20260723174751.1180334-1-farman@linux.ibm.com/
v3->v4:
- [MR] Added r-b where provided (thank you!)
- [MR] Make ccwchain_count unsigned
- [MR] Reworked loop in ccwchain_calc_length()
- [MR] Add boundary check before nospec clamp in async, crw, and schib regions
- [MR] Add lockdep assertions where appropriate
- [EF/MR] Add definitions of new fields in channel_program and vfio_ccw_private
- [sashiko/MR] Fix calculation of DMA address between Format-1 and Format-2 IDA
- [NEW][sashiko/EF] Defer cp_free() from fsm_notoper(), so it can be called
while holding sch->lock, without needing to dance with private->cp_mutex
Eric Farman (9):
s390/vfio_ccw: free all memory if cp_init() fails
s390/vfio_ccw: limit the number of channel program segments
s390/vfio_ccw: fix out of bounds check on CCW array
s390/vfio_ccw: ensure first IDAW remains constant
s390/vfio_ccw: calculate idal length based on idaw type
s390/vfio_ccw: ensure index for read/write regions are within range
s390/vfio_ccw: move cp cleanup out of not operational
s390/vfio_ccw: implement a channel program mutex
s390/vfio_ccw: implement a crw lock
drivers/s390/cio/vfio_ccw_async.c | 16 +++++
drivers/s390/cio/vfio_ccw_chp.c | 30 +++++++--
drivers/s390/cio/vfio_ccw_cp.c | 96 ++++++++++++++++++++++-------
drivers/s390/cio/vfio_ccw_cp.h | 10 +++
drivers/s390/cio/vfio_ccw_drv.c | 19 ++++++
drivers/s390/cio/vfio_ccw_fsm.c | 23 ++++---
drivers/s390/cio/vfio_ccw_ops.c | 21 +++++--
drivers/s390/cio/vfio_ccw_private.h | 10 +++
8 files changed, 184 insertions(+), 41 deletions(-)
--
2.53.0