From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id C2BCB45D39 for ; Mon, 18 Nov 2024 17:24:38 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AE5D840A84; Mon, 18 Nov 2024 17:24:38 +0100 (CET) Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.173]) by mails.dpdk.org (Postfix) with ESMTP id 46A4D40673 for ; Mon, 18 Nov 2024 17:24:36 +0100 (CET) Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-20ce65c8e13so34840145ad.1 for ; Mon, 18 Nov 2024 08:24:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1731947075; x=1732551875; darn=dpdk.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=SHRnxI2QK0YpXEB8PtLvis0Eo3BwChk5unWPmA9WX8w=; b=0EKrARj/74J0aaQAvHqXLLJRT4c6JHSQT8PVhOxy1V4xoC0fi/nxZd7RfGRAH9jt/k dBimhBSgU72NiGo5x1caUS+ZwD2DrvpgEdfnCa4vwkTmwtcvh9bwAuWLObiN3YlEKSWS i/XBPXYvc3WgqqUbLSqm+7Rfy5+kvkJBkDAY68FfEmmltX28Tnf8o6GR91PW/9Dr4mSA eIvEyuc94hL58h9eM/Knw2C8typxHp4cMBw85h+orqvu19J/3O4vXWkuMSfQwUZY8Z55 4fAfA7jfnmbN1nqyPzrC1pHKnPc8hybuuzsJ/XjdJjaqNGOfUUcg0YMhoqS3cMZUq+0H gAEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731947075; x=1732551875; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=SHRnxI2QK0YpXEB8PtLvis0Eo3BwChk5unWPmA9WX8w=; b=xCdp+Mrz3z7Gmbize3QrFnNTvI36XN7MK7qJBngmC9GBvJz0YHmmGJ36MeM1VpE7je uOAo2yimr4L+rzohbpdV6+7MZ+2w2vsNsHmcykiyjqyln5HOB4huv4VI1xEP1xHiVW5V 0Jhsfp2kW050YtjQrCtb6IKzHJqWYCMSYrYfq21F3bqW5C/nUYojwKKijINZ8cYqEnOV gTb46MQwx3pNvFBjOGp61n1q0K7q5Tx4qt8H5xQ6PRb+7Sjtjh8PumLW2pH+QbBtIUI1 I3VSYaBioa2qlRtTgD62AFl97gMQvGBMhMQTEqxZa/wNanFPBwgLj97DUP1faqvwhm64 5reQ== X-Forwarded-Encrypted: i=1; AJvYcCUf0BtWtwz1rKpKY9zWb5ZrxiJPI7rmkKKl6IFz0oqGl94jpDWZLI61L58bzVRpoe3/zqb0KQM=@dpdk.org X-Gm-Message-State: AOJu0Yz7gAU1UUJfh4cnmnuJiYo4dZl+Hv/GqTRiZeBQjp0THfPVQD8r FShRMM8tBKO+m0dliCR/RGoiXQfbG2q0+qsgWj7pOGs2kFS0d+SmZkq7knftINg= X-Google-Smtp-Source: AGHT+IF4n+3ly1IogJihuKFBfWcwH047Q8shXzuC49GS98vKSi5aLfRbFGpJ2CiMQ/T86J15PsxP5w== X-Received: by 2002:a17:903:1245:b0:20b:c287:202d with SMTP id d9443c01a7336-211d0edbf62mr155679015ad.55.1731947075236; Mon, 18 Nov 2024 08:24:35 -0800 (PST) Received: from hermes.local (204-195-96-226.wavecable.com. [204.195.96.226]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-724771e21bfsm6365696b3a.162.2024.11.18.08.24.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 Nov 2024 08:24:34 -0800 (PST) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , david.marchand@redhat.com, stable@dpdk.org, Maxime Coquelin , Chenbo Xia , Eelco Chaudron Subject: [PATCH] vhost: fix read vs write lock mismatch Date: Mon, 18 Nov 2024 08:24:24 -0800 Message-ID: <20241118162424.9038-1-stephen@networkplumber.org> X-Mailer: git-send-email 2.45.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org If lock is acquired for write, it must be released for write or a deadlock is likely. Bugzilla ID: 1582 Fixes: 9fc93a1e2320 ("vhost: fix virtqueue access check in datapath") Cc: david.marchand@redhat.com Cc: stable@dpdk.org Signed-off-by: Stephen Hemminger --- lib/vhost/virtio_net.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/vhost/virtio_net.c b/lib/vhost/virtio_net.c index 298a5dae74..d764d4bc6a 100644 --- a/lib/vhost/virtio_net.c +++ b/lib/vhost/virtio_net.c @@ -2538,7 +2538,7 @@ virtio_dev_rx_async_submit(struct virtio_net *dev, struct vhost_virtqueue *vq, if (unlikely(!vq->access_ok)) { vhost_user_iotlb_rd_unlock(vq); - rte_rwlock_read_unlock(&vq->access_lock); + rte_rwlock_write_unlock(&vq->access_lock); virtio_dev_vring_translate(dev, vq); goto out_no_unlock; -- 2.45.2