[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250717-jk-ddp-safe-mode-issue-v1-0-e113b2baed79@intel.com>
Date: Thu, 17 Jul 2025 09:57:07 -0700
From: Jacob Keller <jacob.e.keller@...el.com>
To: Anthony Nguyen <anthony.l.nguyen@...el.com>,
Intel Wired LAN <intel-wired-lan@...ts.osuosl.org>,
Aleksandr Loktionov <aleksandr.loktionov@...el.com>
Cc: Jacob Keller <jacob.e.keller@...el.com>, vgrinber@...hat.com,
netdev@...r.kernel.org
Subject: [PATCH iwl-net 0/2] ice: fix issues with loading certain older DDP
packages
This series contains two fixes to improve the software handling for certain
error conditions when loading an older DDP package on a device. In
particular, some combinations of DDP and firmware version can result in the
driver accidentally locking the device up due to blocking the global
configuration lock used for DDP programming.
Also, fix an error in the cleanup logic for a failed probe could result in
memory corruption due to a use-after-free from double-calling
ice_deinit_hw().
It is not clear if any publicly released DDP versions suffer from the exact
issues that caused the ice_cfg_tx_topo() failure. However, it is entirely
plausible that the error could be triggered in the future. Thus, it is
important to ensure the error flow is safe and won't make the device
inaccessible for such tasks as updating the firmware. Additionally,
degrading functionality simply because a user has not updated a DDP package
is wrong.
I settled on -ENODEV as the error code for handling ice_init_hw() failures,
to ensure probe stops in the rare cases where this fails. I am open to
alternative suggestions for how to handle errors from ice_cfg_tx_topo()
through into ice_init_tx_topology().
Signed-off-by: Jacob Keller <jacob.e.keller@...el.com>
---
Jacob Keller (2):
ice: fix double-call to ice_deinit_hw() during probe failure
ice: don't leave device non-functional if Tx scheduler config fails
drivers/net/ethernet/intel/ice/devlink/devlink.c | 10 +-----
drivers/net/ethernet/intel/ice/ice_ddp.c | 44 +++++++++++++++++-------
drivers/net/ethernet/intel/ice/ice_main.c | 38 ++++++++++----------
3 files changed, 53 insertions(+), 39 deletions(-)
---
base-commit: dae7f9cbd1909de2b0bccc30afef95c23f93e477
change-id: 20250716-jk-ddp-safe-mode-issue-d6130b8c8205
Best regards,
--
Jacob Keller <jacob.e.keller@...el.com>
Powered by blists - more mailing lists