s390/vfio-ap: set status response code to 06 on gisc registration failure
authorAnthony Krowiak <akrowiak@linux.ibm.com>
Thu, 9 Nov 2023 16:44:21 +0000 (11:44 -0500)
committerAlexander Gordeev <agordeev@linux.ibm.com>
Thu, 30 Nov 2023 15:24:22 +0000 (16:24 +0100)
commit3746d48c55aced92c8fc1cbb432600da3e47344c
tree6ef8e9fe6d8db77804804906c8e636a1b1341d55
parent7b2d039da622daa9ba259ac6f38701d542b237c3
s390/vfio-ap: set status response code to 06 on gisc registration failure

The interception handler for the PQAP(AQIC) command calls the
kvm_s390_gisc_register function to register the guest ISC with the channel
subsystem. If that call fails, the status response code 08 - indicating
Invalid ZONE/GISA designation - is returned to the guest. This response
code is not valid because setting the ZONE/GISA values is the
responsibility of the hypervisor controlling the guest and there is nothing
that can be done from the guest perspective to correct that problem.

The likelihood of GISC registration failure is nil and there is no status
response code to indicate an invalid ISC value, so let's set the response
code to 06 indicating 'Invalid address of AP-queue notification byte'.
While this is not entirely accurate, it is better than setting a response
code which makes no sense for the guest.

Signed-off-by: Anthony Krowiak <akrowiak@linux.ibm.com>
Suggested-by: Halil Pasic <pasic@linux.ibm.com>
Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
Reviewed-by: Harald Freudenberger <freude@linux.ibm.com>
Link: https://lore.kernel.org/r/20231109164427.460493-3-akrowiak@linux.ibm.com
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
drivers/s390/crypto/vfio_ap_ops.c