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 8988BA0A0C for ; Tue, 3 Aug 2021 14:22:22 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1C71E411D1; Tue, 3 Aug 2021 14:22:22 +0200 (CEST) Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com [209.85.221.42]) by mails.dpdk.org (Postfix) with ESMTP id F3D5C40E3C for ; Tue, 3 Aug 2021 14:22:20 +0200 (CEST) Received: by mail-wr1-f42.google.com with SMTP id k4so14287560wrc.0 for ; Tue, 03 Aug 2021 05:22:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=wCnwdf/g20laZP2RcUpygk/VNIk/dH2l2xrQ6YesvLY=; b=myZGX8MmpDOJ10F/9DwMpondRo+biqYj7qr0AmEqtMCSpxGYmViGDNFuLKTBh8gGKA Wv5IaumxvSnelbYK7ZJZAp/WeA+tXbCAIYDWJuYe0hBgyXzwefJCZsW8BDF4/8vEKesK OBNj9y/yPEPjVpvqP0zyzMI+Sem+JtNRLxsOh30PeZU1/3wEh+87pZGOTSUu0/pxkQ13 AcIwmKLCkyWrBhqfnoD4N5M596lRE1aKSmnFwLg5dw0SOZ7FwFRW70I/3tDjp3YsK6hZ Up+s+qk1+WHv+LzX9ygZSTOBNGZdZdXw9W2XhIjnGg9IpjOQRSr1mHY2XBhHuZ+RGcB9 5bgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=wCnwdf/g20laZP2RcUpygk/VNIk/dH2l2xrQ6YesvLY=; b=TZQo6J+h1qx+Py8tjim7i5SRNwK4LSGiaJYOeeEwziFywxQaJNeu/58/2sLraKh8Yi VlDh8I42lqCUDIMv/JtB2z7XQ8qWhkg/+n/DxhiXRlO0/3kFYj4xw2Dd0Jz4wju5jA9n 93iuPFG4L/fDmmiDdkznIiLuaKJQflnRiiUPa4SV75Y+S2cpPkiUh9qX1qAncyWZmJbw j3g3S8CHUkCWTap5urSYi7vuqpEnjOVJUJVFV/ZmVo7zmds5W8dWRsMcWcpfh0lj2zUT xLa8XwB6R2dVNJpp1kTI4s5WOBmY8sprgoFHqcHuG7HzyACYPRYdhAD05ekuEEZWNKP/ Jocw== X-Gm-Message-State: AOAM5314bQmcMKIJUyWZWcljB8B4Udrb1xwyKQC1do3ySz9OUnKsT3aY ZgTWR17u/JbKjNdQdLqAwOU= X-Google-Smtp-Source: ABdhPJyMsVGW7bWPr5CHRKaTliyUkt5WYRgOpJGPf5Dd9YYqkzemwY8B0q0pVzxiROSvan2d/zzyew== X-Received: by 2002:a5d:457b:: with SMTP id a27mr22629919wrc.169.1627993340758; Tue, 03 Aug 2021 05:22:20 -0700 (PDT) Received: from localhost ([137.220.125.106]) by smtp.gmail.com with ESMTPSA id a9sm14870126wrv.37.2021.08.03.05.22.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Aug 2021 05:22:20 -0700 (PDT) From: luca.boccassi@gmail.com To: Maxime Coquelin Cc: Yinan Wang , Chenbo Xia , dpdk stable Date: Tue, 3 Aug 2021 13:21:51 +0100 Message-Id: <20210803122214.1094992-2-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210803122214.1094992-1-luca.boccassi@gmail.com> References: <20210726135322.149850-59-luca.boccassi@gmail.com> <20210803122214.1094992-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'vhost: fix crash on reconnect' has been queued to stable release 20.11.3 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 Sender: "stable" Hi, FYI, your patch has been queued to stable release 20.11.3 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 08/05/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/dc023498c91589402aa09462c279ae14684aee66 Thanks. Luca Boccassi --- >From dc023498c91589402aa09462c279ae14684aee66 Mon Sep 17 00:00:00 2001 From: Maxime Coquelin Date: Mon, 26 Jul 2021 09:58:14 +0200 Subject: [PATCH] vhost: fix crash on reconnect [ upstream commit 3c929a0bb3e7addc5103227bff126b8b9dd952ef ] When the vhost-user frontend like Virtio-user tries to reconnect to the restarted Vhost backend, the Vhost backend segfaults when multiqueue is enabled. This is caused by VHOST_USER_GET_VRING_BASE being called for a virtqueue that has not been created before, causing a NULL pointer dereferencing. This patch adds the VHOST_USER_GET_VRING_BASE requests to the list of requests that trigger queue pair allocations. Fixes: 160cbc815b41 ("vhost: remove a hack on queue allocation") Reported-by: Yinan Wang Signed-off-by: Maxime Coquelin Tested-by: Yinan Wang Reviewed-by: Chenbo Xia --- lib/librte_vhost/vhost_user.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c index 9b1a6d7697..8a2a3e9ab5 100644 --- a/lib/librte_vhost/vhost_user.c +++ b/lib/librte_vhost/vhost_user.c @@ -2677,6 +2677,7 @@ vhost_user_check_and_alloc_queue_pair(struct virtio_net *dev, break; case VHOST_USER_SET_VRING_NUM: case VHOST_USER_SET_VRING_BASE: + case VHOST_USER_GET_VRING_BASE: case VHOST_USER_SET_VRING_ENABLE: vring_idx = msg->payload.state.index; break; -- 2.30.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-08-03 12:35:08.318681630 +0100 +++ 0002-vhost-fix-crash-on-reconnect.patch 2021-08-03 12:35:08.166817770 +0100 @@ -1 +1 @@ -From 3c929a0bb3e7addc5103227bff126b8b9dd952ef Mon Sep 17 00:00:00 2001 +From dc023498c91589402aa09462c279ae14684aee66 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 3c929a0bb3e7addc5103227bff126b8b9dd952ef ] + @@ -18 +19,0 @@ -Cc: stable@dpdk.org @@ -25 +26 @@ - lib/vhost/vhost_user.c | 1 + + lib/librte_vhost/vhost_user.c | 1 + @@ -28,5 +29,5 @@ -diff --git a/lib/vhost/vhost_user.c b/lib/vhost/vhost_user.c -index 433f412fa8..29a4c9af60 100644 ---- a/lib/vhost/vhost_user.c -+++ b/lib/vhost/vhost_user.c -@@ -2796,6 +2796,7 @@ vhost_user_check_and_alloc_queue_pair(struct virtio_net *dev, +diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c +index 9b1a6d7697..8a2a3e9ab5 100644 +--- a/lib/librte_vhost/vhost_user.c ++++ b/lib/librte_vhost/vhost_user.c +@@ -2677,6 +2677,7 @@ vhost_user_check_and_alloc_queue_pair(struct virtio_net *dev,