On 4/27/2026 10:49 AM, Bart Van Assche via Intel-wired-lan wrote: > On 3/20/26 2:28 PM, Bart Van Assche wrote: >> Move the mutex_lock() call up to prevent that DCB settings change after >> the first ice_query_port_ets() call. The second ice_query_port_ets() >> call in ice_dcb_rebuild() is already protected by pf->tc_mutex. >> >> This also fixes a bug in an error path, as before taking the first >> "goto dcb_error" in the function jumped over mutex_lock() to >> mutex_unlock(). >> >> This bug has been detected by the clang thread-safety analyzer. >> >> Cc: Aleksandr Loktionov <[email protected]> >> Cc: [email protected] >> Fixes: 242b5e068b25 ("ice: Fix DCB rebuild after reset") >> Signed-off-by: Bart Van Assche <[email protected]> >> --- >> >> v4 (this patch): Changed "[PATCH] iwl-net:" into "[PATCH iwl-net]". >> >> v3 (2026-03-20): Modified patch description. See also >> https://lore.kernel.org/all/20260223220102.2158611-20- >> [email protected]/#t >> >> v2 (2026-02-23): Combined the two patches into one patch and >> increased the amount of code covered by tc_mutex. See also >> https://lore.kernel.org/all/20260223220102.2158611-20- >> [email protected]/ >> >> v1 (2025-02-06): Two patches. See also >> https://lore.kernel.org/all/20250206175114.1974171-16- >> [email protected]/ >> >> drivers/net/ethernet/intel/ice/ice_dcb_lib.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/net/ethernet/intel/ice/ice_dcb_lib.c b/drivers/ >> net/ethernet/intel/ice/ice_dcb_lib.c >> index bd77f1c001ee..78ded6876581 100644 >> --- a/drivers/net/ethernet/intel/ice/ice_dcb_lib.c >> +++ b/drivers/net/ethernet/intel/ice/ice_dcb_lib.c >> @@ -537,14 +537,14 @@ void ice_dcb_rebuild(struct ice_pf *pf) >> struct ice_dcbx_cfg *err_cfg; >> int ret; >> + mutex_lock(&pf->tc_mutex); >> + >> ret = ice_query_port_ets(pf->hw.port_info, &buf, sizeof(buf), >> NULL); >> if (ret) { >> dev_err(dev, "Query Port ETS failed\n"); >> goto dcb_error; >> } >> - mutex_lock(&pf->tc_mutex); >> - >> if (!pf->hw.port_info->qos_cfg.is_sw_lldp) >> ice_cfg_etsrec_defaults(pf->hw.port_info); >> > > Hi Tony, > > It seems like this patch has not made it into Linux kernel v7.1-rc. Do > you agree that this patch is ready to be merged? I checked that it still > applies to Linus' master branch. > > Thanks, > > Bart.
Hi Bart, I am covering for Tony while he is on vacation. This patch only recently completed our internal testing round. It unfortunately took a while to complete testing due to our existing backlog of patches. I'm preparing to include it in my next round of patches to submit to netdev's net tree. Thanks, Jake
