git: 0f7bdeadaf9d - main - ixl: Initialize the extended RSS key
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 18 Sep 2026 22:48:52 UTC
The branch main has been updated by kbowling:
URL: https://cgit.FreeBSD.org/src/commit/?id=0f7bdeadaf9d8101993dd39abee3a6a2ef4e2950
commit 0f7bdeadaf9d8101993dd39abee3a6a2ef4e2950
Author: Kevin Bowling <kbowling@FreeBSD.org>
AuthorDate: 2026-09-18 08:29:16 +0000
Commit: Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2026-09-18 22:47:44 +0000
ixl: Initialize the extended RSS key
Zero the complete 52-byte RSS key buffer before fetching the common
40-byte key. Both the X722 AdminQ path and the register path consume all
52 bytes; the trailing extended-key bytes must not come from uninitialized
stack storage. This matches the zero padding already used by iavf and ice.
Remove the unused driver-default key helper and its declaration. Keep
the standard key, hash selections, and indirection policy unchanged.
Reviewed by: gallatin
MFC after: 2 weeks
Sponsored by: BBOX.io
Differential Revision: https://reviews.freebsd.org/D59791
---
sys/dev/ixl/ixl.h | 1 -
sys/dev/ixl/ixl_pf_main.c | 2 +-
sys/dev/ixl/ixl_txrx.c | 17 -----------------
3 files changed, 1 insertion(+), 19 deletions(-)
diff --git a/sys/dev/ixl/ixl.h b/sys/dev/ixl/ixl.h
index e265c8fbe3eb..2d21bf5c12de 100644
--- a/sys/dev/ixl/ixl.h
+++ b/sys/dev/ixl/ixl.h
@@ -516,7 +516,6 @@ extern const uint8_t ixl_bcast_addr[ETHER_ADDR_LEN];
/* Common function prototypes between PF/VF driver */
void ixl_debug_core(device_t dev, u32 enabled_mask, u32 mask, char *fmt, ...);
void ixl_init_tx_ring(struct ixl_vsi *vsi, struct ixl_tx_queue *que);
-void ixl_get_default_rss_key(u32 *);
const char * i40e_vc_stat_str(struct i40e_hw *hw,
enum virtchnl_status_code stat_err);
void ixl_init_tx_rsqs(struct ixl_vsi *vsi);
diff --git a/sys/dev/ixl/ixl_pf_main.c b/sys/dev/ixl/ixl_pf_main.c
index 4c7907a5a9be..838e2178a110 100644
--- a/sys/dev/ixl/ixl_pf_main.c
+++ b/sys/dev/ixl/ixl_pf_main.c
@@ -1099,7 +1099,7 @@ ixl_set_rss_key(struct ixl_pf *pf)
struct i40e_hw *hw = &pf->hw;
struct ixl_vsi *vsi = &pf->vsi;
device_t dev = pf->dev;
- u32 rss_seed[IXL_RSS_KEY_SIZE_REG];
+ u32 rss_seed[IXL_RSS_KEY_SIZE_REG] = {0};
enum i40e_status_code status;
/* Fetch the configured RSS key */
diff --git a/sys/dev/ixl/ixl_txrx.c b/sys/dev/ixl/ixl_txrx.c
index d047733ecbbb..047bb468254b 100644
--- a/sys/dev/ixl/ixl_txrx.c
+++ b/sys/dev/ixl/ixl_txrx.c
@@ -86,23 +86,6 @@ struct if_txrx ixl_txrx_dwb = {
NULL
};
-/*
- * @key key is saved into this parameter
- */
-void
-ixl_get_default_rss_key(u32 *key)
-{
- MPASS(key != NULL);
-
- u32 rss_seed[IXL_RSS_KEY_SIZE_REG] = {0x41b01687,
- 0x183cfd8c, 0xce880440, 0x580cbc3c,
- 0x35897377, 0x328b25e1, 0x4fa98922,
- 0xb7d90c14, 0xd5bad70d, 0xcd15a2c1,
- 0x0, 0x0, 0x0};
-
- bcopy(rss_seed, key, IXL_RSS_KEY_SIZE);
-}
-
/**
* i40e_vc_stat_str - convert virtchnl status err code to a string
* @hw: pointer to the HW structure