Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp3098002imm; Fri, 10 Aug 2018 03:51:38 -0700 (PDT) X-Google-Smtp-Source: AA+uWPzK+WTzn+EnFZpszfnnQkjU+LYWR3v+tmojKRxNFzAABos70jlIh2tXGgoTptn1OAZB5dRZ X-Received: by 2002:a62:c410:: with SMTP id y16-v6mr6536198pff.161.1533898298173; Fri, 10 Aug 2018 03:51:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533898298; cv=none; d=google.com; s=arc-20160816; b=ymfMBILEyU482/U060Oo6UU1us55OB9WzGH3N6Bs0pmdHxmnFzXE1YFkfv82kN7D9R haD7M64W6be4pER1PQz1LL04gGywLMf/ntXDL9wQ8u1m3xAjHKgW+4TD5Fek902vLYSY iBsQIX7wg0Y3LrP32FmVhnxKtIPvPmWYYzel5MbHBl/9vx67yBxZ1RDqQMhucNsW8uin 4Pf/9GjQu7Y4U722nVRQ1+WSYMZkYkk8FPzCBfNKkCwFKKTzwf4jJGIXc76GbdMH4iuN wVi4XDtU9i9ao2suI65LrDZVg2e7y5L022kzG8hoiIzXJY4BnlVutipocrVyroIVTOfh VGcQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :from:references:cc:to:subject:reply-to:arc-authentication-results; bh=/T22jBkWnEGkedD3KKFRW3idpH9LDuzFY9V3exfEFV8=; b=usnL94D9Qr1LhWmR+y4hgsF4ygSENHKK58vzOukY5VQGmPqAqLsjqi0Drn8gGtdzVR HJN3JPVuxbmTRbuuUtUC6fOOb4O+hBEyZhueLQvgi7T0QdC04xgRQc6aHVX7IFXZlNWv fE3Fo58tuZix5Hnep/9LFlABPXgfEhxt+XGf9TlctdKDoYBSRdlqWK8XkcrysH1hFlss Tt9D6veK0UNbRc75ICNbPaKoH7OkJqnmKzSlIeqwBAzurgASJgDSC24eDLOr4BYWxiIy pM5z01Mo/BISEy4fr8K8Qw6hwgvq5yzvpteaC17TyQCML1VrsJsG24ThO+iq0+fSODwb RQMg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 128-v6si10210892pge.444.2018.08.10.03.51.23; Fri, 10 Aug 2018 03:51:38 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727996AbeHJNSi (ORCPT + 99 others); Fri, 10 Aug 2018 09:18:38 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:48222 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727810AbeHJNSi (ORCPT ); Fri, 10 Aug 2018 09:18:38 -0400 Received: from pps.filterd (m0098393.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w7AAmuGe032783 for ; Fri, 10 Aug 2018 06:49:16 -0400 Received: from e06smtp05.uk.ibm.com (e06smtp05.uk.ibm.com [195.75.94.101]) by mx0a-001b2d01.pphosted.com with ESMTP id 2ks6h7xbag-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 10 Aug 2018 06:49:16 -0400 Received: from localhost by e06smtp05.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 10 Aug 2018 11:49:13 +0100 Received: from b06cxnps4074.portsmouth.uk.ibm.com (9.149.109.196) by e06smtp05.uk.ibm.com (192.168.101.135) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Fri, 10 Aug 2018 11:49:11 +0100 Received: from d06av24.portsmouth.uk.ibm.com (d06av24.portsmouth.uk.ibm.com [9.149.105.60]) by b06cxnps4074.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id w7AAn9s525886936 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Fri, 10 Aug 2018 10:49:09 GMT Received: from d06av24.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 0512B4204D; Fri, 10 Aug 2018 13:49:17 +0100 (BST) Received: from d06av24.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 36DAC4203F; Fri, 10 Aug 2018 13:49:16 +0100 (BST) Received: from [9.152.224.92] (unknown [9.152.224.92]) by d06av24.portsmouth.uk.ibm.com (Postfix) with ESMTP; Fri, 10 Aug 2018 13:49:16 +0100 (BST) Reply-To: pmorel@linux.ibm.com Subject: Re: [PATCH v8 17/22] s390: vfio-ap: zeroize the AP queues. To: Cornelia Huck , Tony Krowiak Cc: linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, freude@de.ibm.com, schwidefsky@de.ibm.com, heiko.carstens@de.ibm.com, borntraeger@de.ibm.com, kwankhede@nvidia.com, bjsdjshi@linux.vnet.ibm.com, pbonzini@redhat.com, alex.williamson@redhat.com, pmorel@linux.vnet.ibm.com, alifm@linux.vnet.ibm.com, mjrosato@linux.vnet.ibm.com, jjherne@linux.vnet.ibm.com, thuth@redhat.com, pasic@linux.vnet.ibm.com, berrange@redhat.com, fiuczy@linux.vnet.ibm.com, buendgen@de.ibm.com, frankja@linux.ibm.com, Tony Krowiak References: <1533739472-7172-1-git-send-email-akrowiak@linux.vnet.ibm.com> <1533739472-7172-18-git-send-email-akrowiak@linux.vnet.ibm.com> <20180810111445.015fcf2a.cohuck@redhat.com> From: Pierre Morel Date: Fri, 10 Aug 2018 12:49:08 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20180810111445.015fcf2a.cohuck@redhat.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-TM-AS-GCONF: 00 x-cbid: 18081010-0020-0000-0000-000002B4D1A1 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18081010-0021-0000-0000-00002101EA59 Message-Id: X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2018-08-10_06:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1807170000 definitions=main-1808100119 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/08/2018 11:14, Cornelia Huck wrote: > On Wed, 8 Aug 2018 10:44:27 -0400 > Tony Krowiak wrote: > >> From: Tony Krowiak >> >> Let's call PAPQ(ZAPQ) to zeroize a queue: >> >> * For each queue configured for a mediated matrix device >> when it is released. >> >> Zeroizing a queue resets the queue, clears all pending >> messages for the queue entries and disables adapter interruptions >> associated with the queue. >> >> Signed-off-by: Tony Krowiak >> Reviewed-by: Halil Pasic >> Tested-by: Michael Mueller >> Tested-by: Farhan Ali >> Signed-off-by: Christian Borntraeger >> --- >> drivers/s390/crypto/vfio_ap_ops.c | 29 ++++++++++++++++++++++++++++- >> drivers/s390/crypto/vfio_ap_private.h | 25 +++++++++++++++++++++++++ >> 2 files changed, 53 insertions(+), 1 deletions(-) >> >> @@ -788,7 +812,10 @@ static void vfio_ap_mdev_release(struct mdev_device *mdev) >> { >> struct ap_matrix_mdev *matrix_mdev = mdev_get_drvdata(mdev); >> >> - kvm_arch_crypto_clear_masks(matrix_mdev->kvm); >> + if (matrix_mdev->kvm) >> + kvm_arch_crypto_clear_masks(matrix_mdev->kvm); > Confused. Why is the check for matrix_mdev->kvm added here? When using the KVM notifier we can get two notifications: -> KVM is here / is comming -> KVM is not here / disappearing In the first case we initialize matrix_mdev->kvm with a pointer to KVM In the second case we nullify the pointer. During the open of the mediated device, the guest should have been started or we refuse to start. During the close of the mediated device, the guest should be there, but we have no certitude that the guest did not disappear before the VFIO file being closed. Since we do not allow multiple guests using the same mediated device this case should not happen with QEMU. But I am not sure that a rogue user program could not stop KVM before closing the VFIO mediated device. Maybe Alex can confirm this point, if not we can remove the test. Thanks Pierre > >> + >> + vfio_ap_mdev_reset_queues(mdev, true); >> vfio_unregister_notifier(mdev_dev(mdev), VFIO_GROUP_NOTIFY, >> &matrix_mdev->group_notifier); >> matrix_mdev->kvm = NULL; -- Pierre Morel Linux/KVM/QEMU in Böblingen - Germany