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 6179343C60 for ; Thu, 7 Mar 2024 02:36:24 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 59B8042EF8; Thu, 7 Mar 2024 02:36:24 +0100 (CET) Received: from mail-wm1-f53.google.com (mail-wm1-f53.google.com [209.85.128.53]) by mails.dpdk.org (Postfix) with ESMTP id D278142E64 for ; Thu, 7 Mar 2024 02:36:22 +0100 (CET) Received: by mail-wm1-f53.google.com with SMTP id 5b1f17b1804b1-412ed3f1e3fso3287225e9.0 for ; Wed, 06 Mar 2024 17:36:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709775382; x=1710380182; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=NsojtQIWZjcA2oerfeMu/nnpTuhQRJoe86HX3u9Hy30=; b=PPwW0ibnM+7CohwAoRSLck93wnf2G8dV1TgvDtLc9pobzLxI0TCtppNNO3zXnYsFH9 /ffJsU0pUkQuF7x9fOr7/uX/nXhA1yQBjs8/BKkpcnS45DvObcyh/TiLGsnaAQSeABpp QIMreNJWSez50idMusyII7RgUAOjN8eHjBs4QZgO81xZSfdpRFAcYg/TyNEYRx5Os5gw 4DnfuY8tNWtvUasEzuyF71OSTO0E2bQLS8t86ZpeRj/Q2cnxpb62jIXlk3Y+6gptHoJE NyJRkhuHQig4HxNtwpUfV+/rOiyb3GQa2oT8skBbG0A6TZcFm0beFdwfA9O+yjiIPfvE kPVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709775382; x=1710380182; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NsojtQIWZjcA2oerfeMu/nnpTuhQRJoe86HX3u9Hy30=; b=WErkwl4EdSFbNNfdoBAuwId8Ml4jTx0XsAM5WDtGUU5qplJs7R5NSDAX4hLU0c8/z5 Rz8W1i9/kAxvXi7BZNdV19Yu7PBmt4fC8d9Ratom1UyZ8eMemaVxfSlZHntpqm8MNhAg 7NntPhwVVsCQxcVjA3MoAx0gPtoHU2+1fmLqt9pKxzahPh9Dm7sYIbUv9F3+jsSdPRDp PeF2zyjE41I6c6lNTPtmnbB7ldyZ+y/4M/WVpV5l+NG8iqDbCx2w0iPzBn8INbcAOKsE 0wWl1eNXO0XFj3dkgdhppLQ7U3Apdul/UsH9RTwjdLJ+suk/B8pskAoexXqAua6MzbPw Shyw== X-Gm-Message-State: AOJu0YxLukXvNY6Ozzc50BykuMta9aJM7Vd+K88xzV+t9OS2wPIqUGI3 vxYPta8nDYf4eqHp8SVTHfwJ0lTTSYknkdVwCWq5LyTgFOR7LGV1mAD0L1LjjN4= X-Google-Smtp-Source: AGHT+IFGU5/AFDsCuFFtkbHhY8rmcEWfM/GlOa1HeAtCgCxxkkvftokeBqLP8b8wtbMVfr1Ff+ziEg== X-Received: by 2002:a05:600c:5194:b0:412:f698:bf66 with SMTP id fa20-20020a05600c519400b00412f698bf66mr2465113wmb.5.1709775382482; Wed, 06 Mar 2024 17:36:22 -0800 (PST) Received: from localhost ([137.220.120.171]) by smtp.gmail.com with ESMTPSA id ay11-20020a05600c1e0b00b00412b431eb0csm886113wmb.14.2024.03.06.17.36.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Mar 2024 17:36:21 -0800 (PST) From: luca.boccassi@gmail.com To: Long Li Cc: dpdk stable Subject: patch 'net/mana: prevent values overflow returned from RDMA layer' has been queued to stable release 22.11.5 Date: Thu, 7 Mar 2024 01:31:29 +0000 Message-Id: <20240307013159.1735343-72-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20240307013159.1735343-1-luca.boccassi@gmail.com> References: <20240307013159.1735343-1-luca.boccassi@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 22.11.5 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 03/09/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/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/d3273299a7566f6396d4a49f2e2f4c9fa8a21636 Thanks. Luca Boccassi --- >From d3273299a7566f6396d4a49f2e2f4c9fa8a21636 Mon Sep 17 00:00:00 2001 From: Long Li Date: Thu, 18 Jan 2024 10:05:37 -0800 Subject: [PATCH] net/mana: prevent values overflow returned from RDMA layer [ upstream commit b7e79896c47e9b884eaed1bac439f84250fd959f ] The device capabilities reported from RDMA layer are in int. Those values can overflow with the data types defined in dev_info_get(). Fix this by doing a upper bound before returning those values. Fixes: 517ed6e2d590 ("net/mana: add basic driver with build environment") Signed-off-by: Long Li --- drivers/net/mana/mana.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/drivers/net/mana/mana.c b/drivers/net/mana/mana.c index 896b53ed35..eb3b734949 100644 --- a/drivers/net/mana/mana.c +++ b/drivers/net/mana/mana.c @@ -292,8 +292,8 @@ mana_dev_info_get(struct rte_eth_dev *dev, dev_info->min_rx_bufsize = MIN_RX_BUF_SIZE; dev_info->max_rx_pktlen = MAX_FRAME_SIZE; - dev_info->max_rx_queues = priv->max_rx_queues; - dev_info->max_tx_queues = priv->max_tx_queues; + dev_info->max_rx_queues = RTE_MIN(priv->max_rx_queues, UINT16_MAX); + dev_info->max_tx_queues = RTE_MIN(priv->max_tx_queues, UINT16_MAX); dev_info->max_mac_addrs = MANA_MAX_MAC_ADDR; dev_info->max_hash_mac_addrs = 0; @@ -334,16 +334,20 @@ mana_dev_info_get(struct rte_eth_dev *dev, /* Buffer limits */ dev_info->rx_desc_lim.nb_min = MIN_BUFFERS_PER_QUEUE; - dev_info->rx_desc_lim.nb_max = priv->max_rx_desc; + dev_info->rx_desc_lim.nb_max = RTE_MIN(priv->max_rx_desc, UINT16_MAX); dev_info->rx_desc_lim.nb_align = MIN_BUFFERS_PER_QUEUE; - dev_info->rx_desc_lim.nb_seg_max = priv->max_recv_sge; - dev_info->rx_desc_lim.nb_mtu_seg_max = priv->max_recv_sge; + dev_info->rx_desc_lim.nb_seg_max = + RTE_MIN(priv->max_recv_sge, UINT16_MAX); + dev_info->rx_desc_lim.nb_mtu_seg_max = + RTE_MIN(priv->max_recv_sge, UINT16_MAX); dev_info->tx_desc_lim.nb_min = MIN_BUFFERS_PER_QUEUE; - dev_info->tx_desc_lim.nb_max = priv->max_tx_desc; + dev_info->tx_desc_lim.nb_max = RTE_MIN(priv->max_tx_desc, UINT16_MAX); dev_info->tx_desc_lim.nb_align = MIN_BUFFERS_PER_QUEUE; - dev_info->tx_desc_lim.nb_seg_max = priv->max_send_sge; - dev_info->rx_desc_lim.nb_mtu_seg_max = priv->max_recv_sge; + dev_info->tx_desc_lim.nb_seg_max = + RTE_MIN(priv->max_send_sge, UINT16_MAX); + dev_info->tx_desc_lim.nb_mtu_seg_max = + RTE_MIN(priv->max_send_sge, UINT16_MAX); /* Speed */ dev_info->speed_capa = RTE_ETH_LINK_SPEED_100G; @@ -1290,9 +1294,9 @@ mana_probe_port(struct ibv_device *ibdev, struct ibv_device_attr_ex *dev_attr, priv->max_mr = dev_attr->orig_attr.max_mr; priv->max_mr_size = dev_attr->orig_attr.max_mr_size; - DRV_LOG(INFO, "dev %s max queues %d desc %d sge %d", + DRV_LOG(INFO, "dev %s max queues %d desc %d sge %d mr %" PRIu64, name, priv->max_rx_queues, priv->max_rx_desc, - priv->max_send_sge); + priv->max_send_sge, priv->max_mr_size); rte_eth_copy_pci_info(eth_dev, pci_dev); -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2024-03-07 01:05:40.937231526 +0000 +++ 0072-net-mana-prevent-values-overflow-returned-from-RDMA-.patch 2024-03-07 01:05:34.894942054 +0000 @@ -1 +1 @@ -From b7e79896c47e9b884eaed1bac439f84250fd959f Mon Sep 17 00:00:00 2001 +From d3273299a7566f6396d4a49f2e2f4c9fa8a21636 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit b7e79896c47e9b884eaed1bac439f84250fd959f ] + @@ -12 +13,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ -index 781ed76139..58257c971e 100644 +index 896b53ed35..eb3b734949 100644 @@ -23 +24 @@ -@@ -296,8 +296,8 @@ mana_dev_info_get(struct rte_eth_dev *dev, +@@ -292,8 +292,8 @@ mana_dev_info_get(struct rte_eth_dev *dev, @@ -25 +26 @@ - dev_info->max_rx_pktlen = MANA_MAX_MTU + RTE_ETHER_HDR_LEN; + dev_info->max_rx_pktlen = MAX_FRAME_SIZE; @@ -34 +35 @@ -@@ -338,16 +338,20 @@ mana_dev_info_get(struct rte_eth_dev *dev, +@@ -334,16 +334,20 @@ mana_dev_info_get(struct rte_eth_dev *dev, @@ -61 +62 @@ -@@ -1385,9 +1389,9 @@ mana_probe_port(struct ibv_device *ibdev, struct ibv_device_attr_ex *dev_attr, +@@ -1290,9 +1294,9 @@ mana_probe_port(struct ibv_device *ibdev, struct ibv_device_attr_ex *dev_attr,