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 8175345DB9 for ; Wed, 27 Nov 2024 18:23:21 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 777EE406BB; Wed, 27 Nov 2024 18:23:21 +0100 (CET) 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 5FC8D406BB for ; Wed, 27 Nov 2024 18:23:20 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1732728200; 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: in-reply-to:in-reply-to:references:references; bh=LS4gx6K8e+XdACXA54XLMoCoBX/w3n9IpvwNkjm+gns=; b=VEA0QRDuLkd67ODcy1AupUJgqHd2wl3riaakYAwUcRjBgVGY50tHtpQ4ZB3NDtGXdLdS47 sbDm0WWAfDLlNxyzgJmLjvnJ6GuzXWved62VUqngjfq1X5ECUhSSFxfATJdYh2TziPIQ6M YN1OnhkFNkKly1UAL5BHcyZjqEWWIF0= Received: from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-379-oRS5z38zP1mp62_7MuQrEw-1; Wed, 27 Nov 2024 12:23:18 -0500 X-MC-Unique: oRS5z38zP1mp62_7MuQrEw-1 X-Mimecast-MFC-AGG-ID: oRS5z38zP1mp62_7MuQrEw Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id A28D51954B02; Wed, 27 Nov 2024 17:23:17 +0000 (UTC) Received: from rh.redhat.com (unknown [10.39.192.52]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 6D8CB300019E; Wed, 27 Nov 2024 17:23:16 +0000 (UTC) From: Kevin Traynor To: Hemant Agrawal Cc: dpdk stable Subject: patch 'bus/dpaa: fix lock condition during error handling' has been queued to stable release 21.11.9 Date: Wed, 27 Nov 2024 17:18:57 +0000 Message-ID: <20241127171916.690404-110-ktraynor@redhat.com> In-Reply-To: <20241127171916.690404-1-ktraynor@redhat.com> References: <20241127171916.690404-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: JTZThKv-G11XoLX47W14maIHepIUfVHhZoKoAFNKBzY_1732728197 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit content-type: text/plain; charset="US-ASCII"; x-default=true 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 Hi, FYI, your patch has been queued to stable release 21.11.9 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 12/02/24. 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/kevintraynor/dpdk-stable This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable/commit/1d8a923c44ca0edfdade3a2558dbb526d54fb987 Thanks. Kevin --- >From 1d8a923c44ca0edfdade3a2558dbb526d54fb987 Mon Sep 17 00:00:00 2001 From: Hemant Agrawal Date: Thu, 14 Nov 2024 13:14:35 +0530 Subject: [PATCH] bus/dpaa: fix lock condition during error handling [ upstream commit c7c3a329750b81bdaeb3f7ceffac0ec3a65f61f8 ] The error handling is missing FQ unlock code. Detected by pvs-studio Bug 89-93: very suspicious synchronization The analyzer issued a pack of V1020 warnings that a resource might remain blocked. Fixes: c47ff048b99a ("bus/dpaa: add QMAN driver core routines") Signed-off-by: Hemant Agrawal --- drivers/bus/dpaa/base/qbman/qman.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/bus/dpaa/base/qbman/qman.c b/drivers/bus/dpaa/base/qbman/qman.c index c5e66d4325..098bfd68a0 100644 --- a/drivers/bus/dpaa/base/qbman/qman.c +++ b/drivers/bus/dpaa/base/qbman/qman.c @@ -2170,6 +2170,8 @@ int qman_set_vdq(struct qman_fq *fq, u16 num, uint32_t vdqcr_flags) if (!p->vdqcr_owned) { FQLOCK(fq); - if (fq_isset(fq, QMAN_FQ_STATE_VDQCR)) + if (fq_isset(fq, QMAN_FQ_STATE_VDQCR)) { + FQUNLOCK(fq); goto escape; + } fq_set(fq, QMAN_FQ_STATE_VDQCR); FQUNLOCK(fq); @@ -2204,6 +2206,8 @@ int qman_volatile_dequeue(struct qman_fq *fq, u32 flags __maybe_unused, if (!p->vdqcr_owned) { FQLOCK(fq); - if (fq_isset(fq, QMAN_FQ_STATE_VDQCR)) + if (fq_isset(fq, QMAN_FQ_STATE_VDQCR)) { + FQUNLOCK(fq); goto escape; + } fq_set(fq, QMAN_FQ_STATE_VDQCR); FQUNLOCK(fq); -- 2.47.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2024-11-27 17:17:41.725351803 +0000 +++ 0110-bus-dpaa-fix-lock-condition-during-error-handling.patch 2024-11-27 17:17:38.340269969 +0000 @@ -1 +1 @@ -From c7c3a329750b81bdaeb3f7ceffac0ec3a65f61f8 Mon Sep 17 00:00:00 2001 +From 1d8a923c44ca0edfdade3a2558dbb526d54fb987 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit c7c3a329750b81bdaeb3f7ceffac0ec3a65f61f8 ] + @@ -13 +14,0 @@ -Cc: stable@dpdk.org @@ -21 +22 @@ -index 9c90ee25a6..c48fa3e073 100644 +index c5e66d4325..098bfd68a0 100644 @@ -24 +25 @@ -@@ -2139,6 +2139,8 @@ int qman_set_vdq(struct qman_fq *fq, u16 num, uint32_t vdqcr_flags) +@@ -2170,6 +2170,8 @@ int qman_set_vdq(struct qman_fq *fq, u16 num, uint32_t vdqcr_flags) @@ -34 +35 @@ -@@ -2173,6 +2175,8 @@ int qman_volatile_dequeue(struct qman_fq *fq, u32 flags __maybe_unused, +@@ -2204,6 +2206,8 @@ int qman_volatile_dequeue(struct qman_fq *fq, u32 flags __maybe_unused,