From patchwork Mon Sep 25 16:36:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxime Coquelin X-Patchwork-Id: 182 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id ADC2B42637; Mon, 25 Sep 2023 18:36:30 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4E3CC4069F; Mon, 25 Sep 2023 18:36:30 +0200 (CEST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mails.dpdk.org (Postfix) with ESMTP id D32A140041 for ; Mon, 25 Sep 2023 18:36:28 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1695659788; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/LGRO4Qj+Jbta9Re5oTlQweaapbvMT/58mA+dbNt1wA=; b=VKAh0mHrB93Ogf5M4g6AZ9yqWkROcpS+yHkF+0XoY3YitK1ZG5YlOuDfZU+gBjtYc/bg8F h9LQvpusgvwBx2GAie1thlJ2Q1bQx+q+q+uhK9G2nFrRqNLwzR5jG0WHSnN9GV7A/fbIgI SpfEFBUrvAI5y0HRxwpr91iBrg6sMUA= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-587-lDr9uWggPX-YAPwrMS2-kA-1; Mon, 25 Sep 2023 12:36:24 -0400 X-MC-Unique: lDr9uWggPX-YAPwrMS2-kA-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 712B1811E88; Mon, 25 Sep 2023 16:36:24 +0000 (UTC) Received: from max-p1.redhat.com (unknown [10.39.208.35]) by smtp.corp.redhat.com (Postfix) with ESMTP id 39E3310EE402; Mon, 25 Sep 2023 16:36:23 +0000 (UTC) From: Maxime Coquelin To: dev@dpdk.org, david.marchand@redhat.com, chenbo.xia@intel.com, mb@smartsharesystems.com Cc: Maxime Coquelin Subject: [PATCH 0/7] vhost: ensure vitqueue access status is checked Date: Mon, 25 Sep 2023 18:36:03 +0200 Message-ID: <20230925163610.3307750-1-maxime.coquelin@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Li Feng initially reported segmentation fault in rte_vhost_vring_call() because of not checking the virtqueue metadata can be accessed. This should be achieved by checking the access_ok status field of the virtqueue. This series also takes the opportunity to fix the other APIs. This is split in multiple patches to ease LTS maintainers backports, but could be squashed if preferred. Maxime Coquelin (7): vhost: fix missing vring call check on virtqueue access vhost: fix missing check on virtqueue access vhost: fix checking virtqueue access when notifying guest vhost: fix check on virtqueue access in async registration vhost: Fix check on virtqueue access in in-flight getter vhost: fix missing lock protection in power monitor API vhost: fix checking virtqueue access ins stats API lib/vhost/vhost.c | 92 +++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 85 insertions(+), 7 deletions(-)