Commit 2fdb5659 authored by Dong Yibo's avatar Dong Yibo
Browse files

RNPVF: NET: Fix os crash while enable sriov for rnp

mucse inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IA8GUJ


CVE: NA

--------------------------------

when enable sriov for rnp, os crash like this:
[  337.833564] BUG: scheduling while atomic: NetworkManager/2437/0x00000400
[  337.833659] Call trace:
[  337.833662]  dump_backtrace+0xa0/0x128
[  337.833670]  show_stack+0x20/0x38
[  337.833672]  dump_stack_lvl+0x78/0xc8
[  337.833677]  dump_stack+0x18/0x28
[  337.833679]  __schedule_bug+0x60/0x88
[  337.833685]  __schedule+0x9b0/0xce8
[  337.833688]  schedule+0x58/0xf0
[  337.833690]  schedule_hrtimeout_range_clock+0xac/0x158
[  337.833694]  schedule_hrtimeout_range+0x1c/0x30
[  337.833696]  usleep_range_state+0x7c/0xb8
[  337.833698]  rnpvf_obtain_mbx_lock_vf+0x60/0xe0 [rnpvf]
[  337.833708]  rnpvf_read_mbx_vf+0x70/0x200 [rnpvf]
[  337.833713]  rnpvf_read_posted_mbx+0x84/0x120 [rnpvf]
[  337.833719]  rnpvf_write_msg_read_ack+0x60/0x98 [rnpvf]
[  337.833724]  rnpvf_update_mc_addr_list_vf+0xf0/0x1b8 [rnpvf]
[  337.833729]  rnpvf_set_rx_mode+0x84/0x180 [rnpvf]
[  337.833735]  __dev_set_rx_mode+0x60/0xa8
[  337.833742]  __dev_mc_del+0x110/0x120
[  337.833744]  dev_mc_del+0x1c/0x30
[  337.833746]  igmp6_group_dropped+0xfc/0x278
[  337.833753]  ipv6_mc_down+0x40/0x168
[  337.833755]  addrconf_ifdown.isra.0+0x8f4/0x968
[  337.833758]  dev_disable_change+0x4c/0x90
[  337.833761]  addrconf_sysctl_disable+0x11c/0x1c8
[  337.833763]  proc_sys_call_handler+0x17c/0x260
[  337.833771]  proc_sys_write+0x1c/0x30
[  337.833773]  new_sync_write+0xac/0x150
[  337.833779]  vfs_write+0x21c/0x2c0
[  337.833780]  ksys_write+0x74/0x110
[  337.833782]  __arm64_sys_write+0x24/0x38
[  337.833784]  invoke_syscall+0x50/0x128
[  337.833787]  el0_svc_common.constprop.0+0xc8/0xf0
[  337.833788]  do_el0_svc+0x24/0x38
[  337.833790]  el0_svc+0x4c/0x1c0
[  337.833795]  el0t_64_sync_handler+0x100/0x130
[  337.833798]  el0t_64_sync+0x188/0x190
[  337.846321] ------------[ cut here ]------------

Fixes: 6adab536 ("drivers: initial support for rnpvf drivers from Mucse Technology")
Signed-off-by: default avatarDong Yibo <dong100@mucse.com>
parent d034e4c8
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -400,7 +400,7 @@ static s32 rnpvf_obtain_mbx_lock_vf(struct rnpvf_hw *hw, bool to_cm3)
		/* reserve mailbox for vf use */
		if (mbx_rd32(hw, CTRL_REG) & MBOX_CTRL_VF_HOLD_SHM)
			return 0;
		usleep_range(500, 1000);
		udelay(500);
	}

	return RNP_ERR_MBX;
+1 −1
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@ char rnpvf_driver_name[] = "rnpvf";
static const char rnpvf_driver_string[] =
	"Mucse(R) 10/40G Gigabit PCI Express Virtual Function Network Driver";

#define DRV_VERSION "0.3.1"
#define DRV_VERSION "0.3.2"
const char rnpvf_driver_version[] = DRV_VERSION;
static const char rnpvf_copyright[] =
	"Copyright (c) 2020 - 2024 Mucse Corporation.";