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 24F394713E for ; Tue, 30 Dec 2025 19:58:56 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 939AF40666; Tue, 30 Dec 2025 19:58:55 +0100 (CET) Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.51]) by mails.dpdk.org (Postfix) with ESMTP id 0CDE54065B for ; Tue, 30 Dec 2025 19:58:53 +0100 (CET) Received: by mail-ej1-f51.google.com with SMTP id a640c23a62f3a-b73161849e1so1972056966b.2 for ; Tue, 30 Dec 2025 10:58:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1767121132; x=1767725932; 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=P37npRTep3PoQFq204aaPKIKOHXxQ26qqvdTQUAXl3k=; b=KDC/HymE44BuftqZHpkDT2wnS7IVZFnSaqhMFUnVkNpxgL9JW5A/eCY3clkvqy9PRv SiVqgCIk1cmo2z5rxKoLvEfqON3/Hc3YSwQ7PM4WEJDoTnCn1FC8mavark00bhz+WbZX uACX1OSmYS7wjXRnGQcr4usL5W9cxR3Y8O86DrSCBpvorQhkobVd3DlDpfu6FDOcJUfc NWbk615ECK17BAjzCv4pjcQ8NNT8DpjV8K4WJbpvrlgKNL+ZmWlxI7AgX/lqvreYWCnr RVSKvd8kZAh9eS6rgxUaQUHLxr4uH/1+6rF8fLubn8a0x5MNUbXT/bYRMUBuIhbUQeEn /21g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767121132; x=1767725932; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=P37npRTep3PoQFq204aaPKIKOHXxQ26qqvdTQUAXl3k=; b=tagxHJb2tqd5rpnSrZQEZEtzBUHHQ/cc2HtYKhGhIuyr9OcLRquOsD6ohaO9zSo/8r 7jIZgMo9ZvWBZks6cmO5fEbcay75pGplgP+dklYMhcEBuj2QuT6VMbN/c8JdjaiTToaW WK3W52x5pWpISIINjUWDyyfSuTJkn8WWLTILZevGN3YbdHHcYDLVrFQjA+zO0uQh+plg h18U+puvgLyd6I6XZM1O3RTeeQhN1zapQWQMVHlFGwZp/SHUDCMUQNebU4GyTx8k2HZK 0YvMyzTcZpioj/SAg23sBYBiY3DiZO0l+VTO8rg1BPVkNWku69VaA45s2ewIDaV3mrfc 0hjw== X-Forwarded-Encrypted: i=1; AJvYcCXW8Gh6c1OB0Evgz4/ORSVtxXCkRIRpsk1ohHAfMKOmIUOXSXjTlfkW8WRY/LEeCo/5cRiuRl4=@dpdk.org X-Gm-Message-State: AOJu0Yz7FyQZf6plgH6TlfbEtOZ+++LGQLQe4IHezYYwJNLdMaSiHzTU ws8xDsrdEenqeJEPFN9LK3hDJUM1mAbObMyGeSu0HqenxpPUwCu3UG2vPlaBT5cMO5Y= X-Gm-Gg: AY/fxX4QLyKfRTtdSllTbMFWm1pqvK3+PO+jV2wcUGLR7GzIp1ee3ULK3n6ETujkiv2 bRrB59j468Mo9vRkEhKZwiVQ7kxS/Uqt0Fnrh2cdRl332DzDsKEnbZC+2+cGvb7eLuteWrIzD8h kYLhLuJjX5cWmiCjsEaDdK/Sd2OAzZ6nrh3KB6IdWIvSoY531Gz2zUXam82jstJfWOUzCNY1YE8 Pmymj9O0YkT/z8nadNGGX6Nq4G5wXc9sJ4Vu9jemOCMfzx8lpyQN0CReRQ5NVtgwBj3IImeet+m UZwV0sbcuKULAwZFlFGuCXijIuVAMZYg4pjDde+xour0oKmc+TjAvALNT2ADy3DEusczm9AjTkN Giv+jf1qfOq3Mra6SXZ5ZSBAy/ejza8grkQUSQ1/jyzGunnF3cB0AnfYEsPnA7ql/ygESqer2Oi UCRzrtzBuKVug2p3unyqIFU9IfyuvLmK+1vEGPtO0BLc5GElqyeQ== X-Google-Smtp-Source: AGHT+IGNT7JCR2ZBRk3SbNbyIn4ncU2sy4Ua2BMycx9rD9sZUeOpMaZRTTDuz3r7AdRpaKd1E2bPow== X-Received: by 2002:a17:906:c109:b0:b80:325d:99e2 with SMTP id a640c23a62f3a-b803705ddb6mr3827548266b.33.1767121132535; Tue, 30 Dec 2025 10:58:52 -0800 (PST) Received: from phoenix.lan (204-195-96-226.wavecable.com. [204.195.96.226]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b8037de0de1sm3745449366b.40.2025.12.30.10.58.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Dec 2025 10:58:52 -0800 (PST) From: Stephen Hemminger To: dev@dpdk.org Cc: Stephen Hemminger , stable@dpdk.org, Ajit Khaparde , Somnath Kotur , Venkat Duvvuru , Mike Baucom , Kishore Padmanabha Subject: [PATCH v2 5/7] net/bnxt: fix uninitialized warning Date: Tue, 30 Dec 2025 10:55:13 -0800 Message-ID: <20251230185837.301163-6-stephen@networkplumber.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251230185837.301163-1-stephen@networkplumber.org> References: <20251228184300.541639-1-stephen@networkplumber.org> <20251230185837.301163-1-stephen@networkplumber.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 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 With gcc-16 it inlines a lot more code and creates a warnings where it thinks it might be manipulating bits that are not set. It looks like this is because the bits in control word (cword) in theory could be larger than the variable. Should not be possible because wc_ctl_size_bits is only set to 3, 16, or 32 but that happens outside of the scope of these functions. Resolve by adding bounds check which compiler sees and knows the loop will only see those bits. In function ‘ulp_bs_push_msb’, inlined from ‘ulp_blob_push’ at ../drivers/net/bnxt/tf_ulp/ulp_utils.h:407:8, inlined from ‘ulp_blob_push_32’ at ../drivers/net/bnxt/tf_ulp/ulp_utils.h:551:7, inlined from ‘ulp_mapper_wc_tcam_tbl_dyn_post_process’ at ../drivers/net/bnxt/tf_ulp/ulp_mapper.c:2487:9: ../drivers/net/bnxt/tf_ulp/ulp_utils.h:336:17: warning: ‘cword’ may be used uninitialized [-Wmaybe-uninitialized] 336 | ulp_bs_put_msb(bs, pos, 8, val[i]); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../drivers/net/bnxt/tf_ulp/ulp_mapper.c: In function ‘ulp_mapper_wc_tcam_tbl_dyn_post_process’: ../drivers/net/bnxt/tf_ulp/ulp_mapper.c:2443:18: note: ‘cword’ declared here 2443 | uint32_t cword, i, rc; | ^~~~~ Bugzilla ID: 1821 Fixes: 3fe124d2536c ("net/bnxt: support Thor platform") Cc: stable@dpdk.org Signed-off-by: Stephen Hemminger Acked-by: Ajit Khaparde --- Note: same patch is already queued in broadcom-next included here so next-net can do Gcc-16 builds drivers/net/bnxt/tf_ulp/ulp_mapper.c | 5 +++++ drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.c b/drivers/net/bnxt/tf_ulp/ulp_mapper.c index 0ff952950b..960cdda311 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.c @@ -2446,6 +2446,11 @@ ulp_mapper_wc_tcam_tbl_dyn_post_process(struct bnxt_ulp_device_params *dparms, slice_width = dparms->wc_slice_width; clen = dparms->wc_ctl_size_bits; + if (clen > 32) { + BNXT_DRV_DBG(ERR, "Key size bits %d too large\n", clen); + return -EINVAL; + } + max_slices = dparms->wc_max_slices; blen = ulp_blob_data_len_get(key); diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c index f99698a1d8..2d89f10d5e 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper_tfc.c @@ -90,6 +90,10 @@ ulp_mapper_tfc_wc_tcam_post_process(struct bnxt_ulp_device_params *dparms, slice_width = dparms->wc_slice_width; clen = dparms->wc_ctl_size_bits; + if (clen > 32) { + BNXT_DRV_DBG(ERR, "Key size bits %d too large\n", clen); + return -EINVAL; + } max_slices = dparms->wc_max_slices; blen = ulp_blob_data_len_get(key); -- 2.51.0