From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129]) by dpdk.org (Postfix) with ESMTP id E0DAE2B91 for ; Fri, 8 Mar 2019 18:48:27 +0100 (CET) Received: from Internal Mail-Server by MTLPINE1 (envelope-from yskoh@mellanox.com) with ESMTPS (AES256-SHA encrypted); 8 Mar 2019 19:48:27 +0200 Received: from scfae-sc-2.mti.labs.mlnx (scfae-sc-2.mti.labs.mlnx [10.101.0.96]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id x28HloAb002625; Fri, 8 Mar 2019 19:48:25 +0200 From: Yongseok Koh To: Tiago Lam Cc: Ferruh Yigit , dpdk stable Date: Fri, 8 Mar 2019 09:46:59 -0800 Message-Id: <20190308174749.30771-21-yskoh@mellanox.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20190308174749.30771-1-yskoh@mellanox.com> References: <20190308174749.30771-1-yskoh@mellanox.com> Subject: [dpdk-stable] patch 'net/af_packet: fix setting MTU decrements sockaddr twice' has been queued to LTS release 17.11.6 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: , X-List-Received-Date: Fri, 08 Mar 2019 17:48:28 -0000 Hi, FYI, your patch has been queued to LTS release 17.11.6 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objection by 03/13/19. So please shout if anyone has objection. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. If the code is different (ie: not only metadata diffs), due for example to a change in context or macro names, please double check it. Thanks. Yongseok --- >>From b040291b2dc6c0f064bdd73e929535b9cff6bf63 Mon Sep 17 00:00:00 2001 From: Tiago Lam Date: Tue, 20 Nov 2018 10:26:29 +0000 Subject: [PATCH] net/af_packet: fix setting MTU decrements sockaddr twice [ upstream commit 8020573894a8504da3146af1854c8aca762539fd ] When setting the MTU, eth_dev_mtu_set() is called to validate the provided MTU. As part of that, it calculates the useful area to store data and compares it against the MTU, to guarantee that there's enough space to store the data. It calculates that as: "tp_frame_size - TPACKET2_HDRLEN - sizeof(struct sockaddr_ll)" However, the TPACKET2_HDRLEN macro already increments sizeof(struct sockaddr_ll) internally, meaning the useuful area of data above will have sizeof(struct sockaddr_ll) decremented twice. Instead, the useful area of data should be calculated as: "tp_frame_size - TPACKET2_HDRLEN" This makes sure that there's enough useful area to fit the provided MTU after excluding tpacket2_hdr and sockaddr_ll. Fixes: cc68ac4847bc ("net/af_packet: support MTU change") Signed-off-by: Tiago Lam Reviewed-by: Ferruh Yigit --- drivers/net/af_packet/rte_eth_af_packet.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_packet/rte_eth_af_packet.c index 5a101cef9..fba857554 100644 --- a/drivers/net/af_packet/rte_eth_af_packet.c +++ b/drivers/net/af_packet/rte_eth_af_packet.c @@ -457,8 +457,7 @@ eth_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu) int ret; int s; unsigned int data_size = internals->req.tp_frame_size - - TPACKET2_HDRLEN - - sizeof(struct sockaddr_ll); + TPACKET2_HDRLEN; if (mtu > data_size) return -EINVAL; -- 2.11.0 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2019-03-08 09:46:41.391923937 -0800 +++ 0021-net-af_packet-fix-setting-MTU-decrements-sockaddr-tw.patch 2019-03-08 09:46:40.065399000 -0800 @@ -1,8 +1,10 @@ -From 8020573894a8504da3146af1854c8aca762539fd Mon Sep 17 00:00:00 2001 +From b040291b2dc6c0f064bdd73e929535b9cff6bf63 Mon Sep 17 00:00:00 2001 From: Tiago Lam Date: Tue, 20 Nov 2018 10:26:29 +0000 Subject: [PATCH] net/af_packet: fix setting MTU decrements sockaddr twice +[ upstream commit 8020573894a8504da3146af1854c8aca762539fd ] + When setting the MTU, eth_dev_mtu_set() is called to validate the provided MTU. As part of that, it calculates the useful area to store data and compares it against the MTU, to guarantee that there's enough @@ -20,7 +22,6 @@ after excluding tpacket2_hdr and sockaddr_ll. Fixes: cc68ac4847bc ("net/af_packet: support MTU change") -Cc: stable@dpdk.org Signed-off-by: Tiago Lam Reviewed-by: Ferruh Yigit @@ -29,10 +30,10 @@ 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_packet/rte_eth_af_packet.c -index 95a98c6b8..264cfc08f 100644 +index 5a101cef9..fba857554 100644 --- a/drivers/net/af_packet/rte_eth_af_packet.c +++ b/drivers/net/af_packet/rte_eth_af_packet.c -@@ -433,8 +433,7 @@ eth_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu) +@@ -457,8 +457,7 @@ eth_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu) int ret; int s; unsigned int data_size = internals->req.tp_frame_size -