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

Reply via email to