lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <14c13db623907f41fae355c225db08b9@linux.ibm.com>
Date:   Thu, 15 Dec 2022 11:56:41 +0100
From:   Harald Freudenberger <freude@...ux.ibm.com>
To:     Tony Krowiak <akrowiak@...ux.ibm.com>
Cc:     linux-s390@...r.kernel.org, linux-kernel@...r.kernel.org,
        kvm@...r.kernel.org, jjherne@...ux.ibm.com, borntraeger@...ibm.com,
        cohuck@...hat.com, mjrosato@...ux.ibm.com, pasic@...ux.ibm.com,
        alex.williamson@...hat.com, kwankhede@...dia.com,
        fiuczy@...ux.ibm.com
Subject: Re: [PATCH 5/7] s390/vfio_ap: fix handling of error response codes

On 2022-12-13 16:44, Tony Krowiak wrote:
> Some response codes returned from the queue reset function are not 
> being
> handled correctly; this patch fixes them:
> 
> 1. Response code 3, AP queue deconfigured: Deconfiguring an AP adapter
>    resets all of its queues, so this is handled by indicating the reset
>    verification completed successfully.
> 
> 2. For all response codes other than 0 (normal reset completion), 2
>    (queue reset in progress) and 3 (AP deconfigured), the -EIO error 
> will
>    be returned from the vfio_ap_mdev_reset_queue() function. In all 
> cases,
>    all fields of the status word other than the response code will be
>    set to zero, so it makes no sense to check status bits.
> 
> Signed-off-by: Tony Krowiak <akrowiak@...ux.ibm.com>
> ---
>  drivers/s390/crypto/vfio_ap_ops.c | 17 +++++++----------
>  1 file changed, 7 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/s390/crypto/vfio_ap_ops.c
> b/drivers/s390/crypto/vfio_ap_ops.c
> index c0cf5050be59..dbf681715a6d 100644
> --- a/drivers/s390/crypto/vfio_ap_ops.c
> +++ b/drivers/s390/crypto/vfio_ap_ops.c
> @@ -1659,17 +1659,15 @@ static int vfio_ap_mdev_reset_queue(struct
> vfio_ap_queue *q)
>  		if (ret)
>  			break;
>  		goto retry_zapq;
> -	case AP_RESPONSE_Q_NOT_AVAIL:
>  	case AP_RESPONSE_DECONFIGURED:
> -	case AP_RESPONSE_CHECKSTOPPED:
> -		WARN_ONCE(status.irq_enabled,
> -			  "PQAP/ZAPQ for %02x.%04x failed with rc=%u while IRQ enabled",
> -			  AP_QID_CARD(q->apqn), AP_QID_QUEUE(q->apqn),
> -			  status.response_code);
> -		ret = -EBUSY;
> -		goto free_resources;
> +		/*
> +		 * When an AP adapter is deconfigured, the associated
> +		 * queues are reset, so let's return a value indicating the reset
> +		 * completed successfully.
> +		 */
> +		ret = 0;
> +		break;
>  	default:
> -		/* things are really broken, give up */
>  		WARN(true,
>  		     "PQAP/ZAPQ for %02x.%04x failed with invalid rc=%u\n",
>  		     AP_QID_CARD(q->apqn), AP_QID_QUEUE(q->apqn),
> @@ -1677,7 +1675,6 @@ static int vfio_ap_mdev_reset_queue(struct
> vfio_ap_queue *q)
>  		return -EIO;
>  	}
> 
> -free_resources:
>  	vfio_ap_free_aqic_resources(q);
> 
>  	return ret;

Reviewed-by: Harald Freudenberger <freude@...ux.ibm.com>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ