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

Anthony Krowiak <[email protected]>
Newsgroups org.kernel.vger.kvm,org.kernel.vger.linux-kernel,org.kernel.vger.linux-s390
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.