• Ahmed Zaki's avatar
    idpf: fix VF dynamic interrupt ctl register initialization · d382c7bc
    Ahmed Zaki authored
    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: d4d55871 ("idpf: initialize interrupts and enable vport")
    Reviewed-by: default avatarPrzemek Kitszel <przemyslaw.kitszel@intel.com>
    Signed-off-by: default avatarAhmed Zaki <ahmed.zaki@intel.com>
    Reviewed-by: default avatarSimon Horman <horms@kernel.org>
    Tested-by: default avatarKrishneil Singh <krishneil.k.singh@intel.com>
    Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
    d382c7bc
idpf_vf_dev.c 4.95 KB