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 1A32AA034F; Sat, 11 Sep 2021 04:08:45 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 917D940041; Sat, 11 Sep 2021 04:08:44 +0200 (CEST) Received: from mail-m972.mail.163.com (mail-m972.mail.163.com [123.126.97.2]) by mails.dpdk.org (Postfix) with ESMTP id A3BF54003E; Sat, 11 Sep 2021 04:08:42 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-Id:MIME-Version; bh=OBR+X LNRbF/li3yyWcrdSC0MjILcmTVzEQG2I/mY9eg=; b=mrY8SjLkS3FT9KfMXlzj6 VgPkTMxgolFksD5ip/efSVoRc1sLOEFRRG4fXcm9AeVq0xSA4aF4BeKz7rQlZ1db wS65gzH0Xu/K1FlzH7J9bFP7x4HfWYdSws1FVrvOAE9jeuc1KsCJ/7Peissr6aJg EvNKLAELG7O/oC3+7V5wc4= Received: from localhost.localdomain (unknown [124.160.213.250]) by smtp2 (Coremail) with SMTP id GtxpCgCHhUGmDzxhkB_lSQ--.78S2; Sat, 11 Sep 2021 10:08:40 +0800 (CST) From: Qiming Chen To: dev@dpdk.org Cc: beilei.xing@intel.com, jingjing.wu@intel.com, Qiming Chen , stable@dpdk.org Date: Sat, 11 Sep 2021 10:07:56 +0800 Message-Id: <20210911020756.3097-1-chenqiming_huawei@163.com> X-Mailer: git-send-email 2.30.1.windows.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID: GtxpCgCHhUGmDzxhkB_lSQ--.78S2 X-Coremail-Antispam: 1Uf129KBjvJXoWrKFyxCw4fuFWxZw15Kw4UJwb_yoW8JF45pr 4fAr1xAryUJrZrK34UAan2qFyfu3y0kF17uFW3Awn0k3Z8ZFyUW34jgasF9FW0gF1kJa13 ZF1UtryDWFn3A3DanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07jgNVgUUUUU= X-Originating-IP: [124.160.213.250] X-CM-SenderInfo: xfkh01xlpl0w5bkxt4lhl6il2tof0z/xtbBZAELoFQHOZw2kQAAsf Subject: [dpdk-dev] [PATCH] net/iavf: fix rxq buf size alignment X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The RTE_ALIGN macro is aligned upwards. If the buf_size variable is not aligned with 1 << I40E_RXQ_CTX_DBUFF_SHIFT, the rx_buf_len is larger than the actual mbuf memory after the operation. When receiving the packet, if the packet is larger than the configured buf_size, it will cause a memory stepping event. The patch uses the RTE_ALIGN_FLOOR down alignment macro to correct the problem. Fixes: 69dd4c3d0898 ("net/avf: enable queue and device") Cc: stable@dpdk.org Signed-off-by: Qiming Chen --- drivers/net/iavf/iavf_rxtx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c index 59448eae98..79243cddc0 100644 --- a/drivers/net/iavf/iavf_rxtx.c +++ b/drivers/net/iavf/iavf_rxtx.c @@ -619,7 +619,7 @@ iavf_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx, rxq->crc_len = 0; len = rte_pktmbuf_data_room_size(rxq->mp) - RTE_PKTMBUF_HEADROOM; - rxq->rx_buf_len = RTE_ALIGN(len, (1 << IAVF_RXQ_CTX_DBUFF_SHIFT)); + rxq->rx_buf_len = RTE_ALIGN_FLOOR(len, (1 << IAVF_RXQ_CTX_DBUFF_SHIFT)); /* Allocate the software ring. */ len = nb_desc + IAVF_RX_MAX_BURST; -- 2.30.1.windows.1