[PATCH v2 0/8] s390/vfio-ap: Fix bugs in vfio_ap device driver callback functions

Anthony Krowiak posted 8 patches 1 month, 2 weeks ago
There is a newer version of this series
drivers/s390/crypto/vfio_ap_ops.c | 93 +++++++++++++++++++++----------
1 file changed, 63 insertions(+), 30 deletions(-)
[PATCH v2 0/8] s390/vfio-ap: Fix bugs in vfio_ap device driver callback functions
Posted by Anthony Krowiak 1 month, 2 weeks ago
Patches 2/5 and 5/5 in this series were previously posted as individual
fixes upstream. During review of those patches, the reviewer identified
several pre-existing problems in the same code paths that are addressed
by the remaining three patches. All five patches are fixes for
pre-existing bugs and are tagged for stable.

Patches 1/5, 3/5 and 4/5 fix bugs in the call trees of the two
callback functions implemented by the vfio_ap device
driver -- vfio_ap_on_cfg_changed and vfio_ap_on_scan_complete:

* Patch 1/5 fixes a stale do_remove flag in vfio_ap_mdev_cfg_remove
  that causes spurious hot-unplug operations on mdevs that have no
  assigned adapters, domains or control domains in common with those
  removed from the host AP configuration.

* Patch 3/5 fixes the use of the wrong lock to protect the addition of
  a newly created ap_matrix_mdev object to the mdev_list in the
  vfio_ap_mdev_probe function.

* Patch 4/5 fixes the missing mdevs_lock while updating the apm_add,
  aqm_add and adm_add fields of an ap_matrix_mdev object in
  vfio_ap_mdev_cfg_add.

Patches 6-8 fix additional pre-existing bugs and were added as 
responses to reviews of v1 of this patch series. The change log below
identifies the patch reviewed and the resulting change:

Change log v1 => v2:
~~~~~~~~~~~~~~~~~~~
Patch 2/5: Fix dereference matrix_mdev->kvm without checking for NULL
* Added new patch to fix the potential use of an uninitialized apm_filtered
  object passed to rest_queues_for_apids called from the 
  vfio_ap_mdev_hot_plug_cfg function. This is a pre-existing condition
  discovered during patch review of 2/5 for v1 of the series.

Patch 3/5: Fix use of wrong lock in mdev probe function
* Added new patch to guard the traversal of the matrix_dev->mdev_list in
  the vfio_ap_mdev_for_queue function called from the status_show funciton.
  This is a pre-existing condition discovered during review of patch 3/5
  for v1 of the series.

Patch 5/5: Fix control domain removal in vfio_ap_mdev_cfg_remove
* Added new patch to fix skipping of hot-unplug in 
  vfio_ap_mdev_hot_unplug_cfg function when the last adpater or domain is
  removed from the host's AP configuration. This is a pre-existing 
  condition discovered during review of patch 5/5 for v1 of the series.



Anthony Krowiak (8):
  s390/vfio-ap: Fix stale do_remove flag across iterations in
    vfio_ap_mdev_cfg_remove
  s390/vfio-ap: Fix dereference matrix_mdev->kvm without checking for
    NULL
  s390/vfio-ap: Fix use of wrong lock in mdev probe function
  s390/vfio-ap: Fix required lock not held during update of
    ap_matrix_mdev object
  s390/vfio-ap: Fix control domain removal in vfio_ap_mdev_cfg_remove
  s390/vfio-ap: fix potential use of uninitialized apm_filtered bitmap
  s390/vfio-ap: Fix required lock not held during display of sysfs
    status attribute
  s390/vfio-ap: Fix hot-unplug skipped when last AP adapter or domain
    removed

 drivers/s390/crypto/vfio_ap_ops.c | 93 +++++++++++++++++++++----------
 1 file changed, 63 insertions(+), 30 deletions(-)

-- 
2.53.0