Subject: Re: [PATCH iwl-net] idpf: fix VF dynamic interrupt ctl register initialization

From: Simon Horman <[email-masked]>
Date: Mon, 2 Sep 2024 09:49:18 +0100

On Wed, Aug 28, 2024 at 04:38:25PM -0600, Ahmed Zaki wrote:
> The VF's dynamic interrupt ctl "dyn_ctl_intrvl_s" is not initialized
> in idpf_vf_intr_reg_init(). This resulted in the following UBSAN error
> whenever a VF is created:
> 
> [  564.345655] UBSAN: shift-out-of-bounds in drivers/net/ethernet/intel/idpf/idpf_txrx.c:3654:10
> [  564.345663] shift exponent 4294967295 is too large for 32-bit type 'int'
> [  564.345671] CPU: 33 UID: 0 PID: 2458 Comm: NetworkManager Not tainted 6.11.0-rc4+ #1
> [  564.345678] Hardware name: Intel Corporation M50CYP2SBSTD/M50CYP2SBSTD, BIOS SE5C6200.86B.0027.P10.2201070222 01/07/2022
> [  564.345683] Call Trace:
> [  564.345688]  <TASK>
> [  564.345693]  dump_stack_lvl+0x91/0xb0
> [  564.345708]  __ubsan_handle_shift_out_of_bounds+0x16b/0x320
> [  564.345730]  idpf_vport_intr_update_itr_ena_irq.cold+0x13/0x39 [idpf]
> [  564.345755]  ? __pfx_idpf_vport_intr_update_itr_ena_irq+0x10/0x10 [idpf]
> [  564.345771]  ? static_obj+0x95/0xd0
> [  564.345782]  ? lockdep_init_map_type+0x1a5/0x800
> [  564.345794]  idpf_vport_intr_ena+0x5ef/0x9f0 [idpf]
> [  564.345814]  idpf_vport_open+0x2cc/0x1240 [idpf]
> [  564.345837]  idpf_open+0x6d/0xc0 [idpf]
> [  564.345850]  __dev_open+0x241/0x420
> 
> Fixes: d4d558718266 ("idpf: initialize interrupts and enable vport")
> Reviewed-by: Przemek Kitszel <[email-masked]>
> Signed-off-by: Ahmed Zaki <[email-masked]>

Thanks,

I see that this now matches the implementation of idpf_intr_reg_init().

Reviewed-by: Simon Horman <[email-masked]>