Subject: Re: [Intel-wired-lan] [PATCH net] ice: fix unaligned access in ice_create_lag_recipe

From: Jiri Pirko <[email-masked]>
Date: Fri, 2 Feb 2024 13:54:57 +0100

Fri, Feb 02, 2024 at 01:40:18PM CET, [email-masked] wrote:
>From: Alexander Lobakin <[email-masked]>
>Date: Fri, 2 Feb 2024 13:39:28 +0100
>
>> From: Michal Schmidt <[email-masked]>
>> Date: Thu, 1 Feb 2024 19:40:17 +0100
>> 
>>> On 1/31/24 17:59, Alexander Lobakin wrote:
>>>> From: Jiri Pirko <[email-masked]>
>>>> Date: Wed, 31 Jan 2024 13:17:44 +0100
>>>>
>>>>> Wed, Jan 31, 2024 at 12:58:23PM CET, [email-masked] wrote:
>>>>>> diff --git a/drivers/net/ethernet/intel/ice/ice_lag.c
>>>>>> b/drivers/net/ethernet/intel/ice/ice_lag.c
>>>>>> index 2a25323105e5..d4848f6fe919 100644
>>>>>> --- a/drivers/net/ethernet/intel/ice/ice_lag.c
>>>>>> +++ b/drivers/net/ethernet/intel/ice/ice_lag.c
>>>>>> @@ -1829,9 +1829,7 @@ static int ice_create_lag_recipe(struct ice_hw
>>>>>> *hw, u16 *rid,
>>>>>>     new_rcp->content.act_ctrl_fwd_priority = prio;
>>>>>>     new_rcp->content.rid = *rid | ICE_AQ_RECIPE_ID_IS_ROOT;
>>>>>>     new_rcp->recipe_indx = *rid;
>>>>>> -    bitmap_zero((unsigned long *)new_rcp->recipe_bitmap,
>>>>>> -            ICE_MAX_NUM_RECIPES);
>>>>>> -    set_bit(*rid, (unsigned long *)new_rcp->recipe_bitmap);
>>>>>> +    put_unaligned_le64(BIT_ULL(*rid), new_rcp->recipe_bitmap);
>>>>>
>>>>> Looks like there might be another incorrect bitmap usage for this in
>>>>> ice_add_sw_recipe(). Care to fix it there as well?
>>>>
>>>> Those are already fixed in one switchdev series and will be sent to IWL
>>>> soon.
>>>> I believe this patch would also make no sense after it's sent.
>>>
>>> Hi Alexander,
>>> When will the series be sent?
>>> The bug causes a kernel panic. Will the series target net.git?
>> 
>> The global fix is here: [0]
>> It's targeting net-next.
>> 
>> I don't know what the best way here would be. Target net instead or pick
>> your fix to net and then fix it properly in net-next?
>
>Sorry, forgot to paste the link :clownface:
>
>[0]
>https://lore.kernel.org/intel-wired-lan/[email-masked]

Just put this into -net, no? I don't see why not.

>Thanks,
>Olek