From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id BBA96A04AF for ; Thu, 20 Aug 2020 17:35:00 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id ADBF31BEC3; Thu, 20 Aug 2020 17:35:00 +0200 (CEST) Received: from us-smtp-delivery-1.mimecast.com (us-smtp-2.mimecast.com [207.211.31.81]) by dpdk.org (Postfix) with ESMTP id 4E76B1BEC3 for ; Thu, 20 Aug 2020 17:34:59 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1597937698; 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=/IoPowP5KZPoQ5hEIuIIDkC0Ylpb6F9HN+WkKHoROsU=; b=I0agnK3DIuUZ0SYy8Gm0dCaPp4pJY/pgGs3PWhHMiBpkt+FTU3gO/ZqY8scFUaMihoUSJn 9YBsXm5R0cmGsOeokdMzWNbF2vJM+lgq5wEJ/g9mrKjoO7KWmO0jppFH0Zl9x5HZ2/zoOw pG4d4Uri93Emu9eJm0qVT4I5ky9lrD4= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-261-74ldy8mAMVy1uHcUuUj2WA-1; Thu, 20 Aug 2020 11:34:55 -0400 X-MC-Unique: 74ldy8mAMVy1uHcUuUj2WA-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id BAB2280EFA7; Thu, 20 Aug 2020 15:34:53 +0000 (UTC) Received: from rh.redhat.com (unknown [10.33.36.18]) by smtp.corp.redhat.com (Postfix) with ESMTP id E0107100AE53; Thu, 20 Aug 2020 15:34:51 +0000 (UTC) From: Kevin Traynor To: "Wei Hu (Xavier)" Cc: Chengchang Tang , Andrew Rybchenko , Sachin Saxena , Viacheslav Ovsiienko , dpdk stable Date: Thu, 20 Aug 2020 16:33:35 +0100 Message-Id: <20200820153341.171927-30-ktraynor@redhat.com> In-Reply-To: <20200820153341.171927-1-ktraynor@redhat.com> References: <20200820153341.171927-1-ktraynor@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=ktraynor@redhat.com X-Mimecast-Spam-Score: 0.001 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'ethdev: fix data room size verification in Rx queue setup' has been queued to LTS release 18.11.10 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 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 LTS release 18.11.10 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/25/20. 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-queue This queued commit can be viewed at: https://github.com/kevintraynor/dpdk-stable-queue/commit/6c46685a125415958e1eca79151da3a27f5279e0 Thanks. Kevin. --- >From 6c46685a125415958e1eca79151da3a27f5279e0 Mon Sep 17 00:00:00 2001 From: "Wei Hu (Xavier)" Date: Thu, 9 Jul 2020 18:43:13 +0800 Subject: [PATCH] ethdev: fix data room size verification in Rx queue setup [ upstream commit 36fbaaf30d6ae5b3734c9b31a2dcd33695b09ef2 ] In the rte_eth_rx_queue_setup API function, the local variable named mbp_buf_size, which is the data room size of the input parameter mp, is checked to guarantee that each memory chunk used for net device in the mbuf is bigger than the min_rx_bufsize. But if mbp_buf_size is less than RTE_PKTMBUF_HEADROOM, the value of the following statement will be a large number since the mbp_buf_size is a unsigned value. mbp_buf_size - RTE_PKTMBUF_HEADROOM As a result, it will cause a segment fault in this situation. This patch fixes it by modify the check condition to guarantee that the local variable named mbp_buf_size is bigger than RTE_PKTMBUF_HEADROOM. Fixes: af75078fece3 ("first public release") Signed-off-by: Chengchang Tang Signed-off-by: Wei Hu (Xavier) Reviewed-by: Andrew Rybchenko Acked-by: Sachin Saxena Acked-by: Viacheslav Ovsiienko --- lib/librte_ethdev/rte_ethdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c index 7769b0f4bc..336ad1b83a 100644 --- a/lib/librte_ethdev/rte_ethdev.c +++ b/lib/librte_ethdev/rte_ethdev.c @@ -1571,5 +1571,5 @@ rte_eth_rx_queue_setup(uint16_t port_id, uint16_t rx_queue_id, mbp_buf_size = rte_pktmbuf_data_room_size(mp); - if ((mbp_buf_size - RTE_PKTMBUF_HEADROOM) < dev_info.min_rx_bufsize) { + if (mbp_buf_size < dev_info.min_rx_bufsize + RTE_PKTMBUF_HEADROOM) { RTE_ETHDEV_LOG(ERR, "%s mbuf_data_room_size %d < %d (RTE_PKTMBUF_HEADROOM=%d + min_rx_bufsize(dev)=%d)\n", -- 2.26.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2020-08-20 16:26:16.894964697 +0100 +++ 0030-ethdev-fix-data-room-size-verification-in-Rx-queue-s.patch 2020-08-20 16:26:15.824324324 +0100 @@ -1 +1 @@ -From 36fbaaf30d6ae5b3734c9b31a2dcd33695b09ef2 Mon Sep 17 00:00:00 2001 +From 6c46685a125415958e1eca79151da3a27f5279e0 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 36fbaaf30d6ae5b3734c9b31a2dcd33695b09ef2 ] + @@ -19 +20,0 @@ -Cc: stable@dpdk.org @@ -31 +32 @@ -index 7022bd7f56..e3b2a09761 100644 +index 7769b0f4bc..336ad1b83a 100644 @@ -34 +35 @@ -@@ -1821,5 +1821,5 @@ rte_eth_rx_queue_setup(uint16_t port_id, uint16_t rx_queue_id, +@@ -1571,5 +1571,5 @@ rte_eth_rx_queue_setup(uint16_t port_id, uint16_t rx_queue_id,