Hi,

I'm running into a NULL pointer dereference in ixgbe_down on 
b84449dc14d274a3f3c78cd734b702ca31aa4dd1
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/master.

I think the variable adapter->vfinfo has not been protected well, when disable 
sriov and down nic.
Anyone has an idea to protect it?

Test script 1:
while true
do
    ifconfig eth3 up
    ifconfig eth3 down
done

Test script 2:
while true
do
    echo 63 > /sys/class/net/eth3/device/sriov_numvfs
    echo 0 > /sys/class/net/eth3/device/sriov_numvfs
done

2018-01-08T16:27:33.786608+08:00|alert|kernel[-]|[  906.719083] BUG: unable to 
handle kernel NULL pointer dereference at 000000000000004c
2018-01-08T16:27:33.786642+08:00|alert|kernel[-]|[  906.727054] IP: 
ixgbe_down+0x481/0x490 [ixgbe]
2018-01-08T16:27:33.786663+08:00|info|kernel[-]|[  906.731569] PGD 0 P4D 0 
2018-01-08T16:27:33.786687+08:00|warning|kernel[-]|[  906.734180] Oops: 0002 
[#1] SMP PTI
2018-01-08T16:27:33.787249+08:00|warning|kernel[-]|[  906.829962] CPU: 12 PID: 
28819 Comm: ifconfig Tainted: G           OE    4.15.0-rc6+ #4
2018-01-08T16:27:33.787270+08:00|warning|kernel[-]|[  906.838074] Hardware 
name: Huawei Technologies Co., Ltd. Tecal XH620           /BC21THSA             
 , BIOS TTSAV020 12/02/2011
2018-01-08T16:27:33.787294+08:00|warning|kernel[-]|[  906.849738] RIP: 
0010:ixgbe_down+0x481/0x490 [ixgbe]
2018-01-08T16:27:33.787315+08:00|warning|kernel[-]|[  906.854773] RSP: 
0018:ffffc9002757fcb0 EFLAGS: 00010246
2018-01-08T16:27:33.787336+08:00|warning|kernel[-]|[  906.860068] RAX: 
0000000000000000 RBX: ffff881ffa2208c0 RCX: 0000000000000000
2018-01-08T16:27:33.787356+08:00|warning|kernel[-]|[  906.867268] RDX: 
0000000000000000 RSI: ffff880fffb96938 RDI: ffff880fffb96938
2018-01-08T16:27:33.787377+08:00|warning|kernel[-]|[  906.874466] RBP: 
0000000000000001 R08: 0000000000000000 R09: 000000000000046e
2018-01-08T16:27:33.787398+08:00|warning|kernel[-]|[  906.881667] R10: 
0000000000000003 R11: 0000000000000000 R12: ffff881ffa221900
2018-01-08T16:27:33.787418+08:00|warning|kernel[-]|[  906.888867] R13: 
ffff881ffa221178 R14: 0000000000000040 R15: ffff881fe5934f40
2018-01-08T16:27:33.787439+08:00|warning|kernel[-]|[  906.896069] FS:  
00007f3cadc66740(0000) GS:ffff880fffb80000(0000) knlGS:0000000000000000
2018-01-08T16:27:33.787464+08:00|warning|kernel[-]|[  906.904275] CS:  0010 DS: 
0000 ES: 0000 CR0: 0000000080050033
2018-01-08T16:27:33.787488+08:00|warning|kernel[-]|[  906.910093] CR2: 
000000000000004c CR3: 0000000fff260005 CR4: 00000000000206e0
2018-01-08T16:27:33.787508+08:00|warning|kernel[-]|[  906.917293] Call Trace:
2018-01-08T16:27:33.787528+08:00|warning|kernel[-]|[  906.919824]  
ixgbe_close_suspend+0x5c/0x60 [ixgbe]
2018-01-08T16:27:33.787549+08:00|warning|kernel[-]|[  906.924690]  
ixgbe_close+0x2d/0xc0 [ixgbe]
2018-01-08T16:27:33.787570+08:00|warning|kernel[-]|[  906.928862]  
__dev_close_many+0x9e/0x100
2018-01-08T16:27:33.787593+08:00|warning|kernel[-]|[  906.932859]  
__dev_change_flags+0xda/0x1e0
2018-01-08T16:27:33.787614+08:00|warning|kernel[-]|[  906.937029]  
dev_change_flags+0x23/0x60
2018-01-08T16:27:33.787636+08:00|warning|kernel[-]|[  906.940943]  
devinet_ioctl+0x670/0x740
2018-01-08T16:27:33.787659+08:00|warning|kernel[-]|[  906.944771]  
sock_do_ioctl+0x20/0x50
2018-01-08T16:27:33.787680+08:00|warning|kernel[-]|[  906.948420]  
sock_ioctl+0x1e4/0x2c0
2018-01-08T16:27:33.787699+08:00|warning|kernel[-]|[  906.951987]  
do_vfs_ioctl+0xa6/0x5f0
2018-01-08T16:27:33.787719+08:00|warning|kernel[-]|[  906.955641]  ? 
__do_page_fault+0x273/0x4d0
2018-01-08T16:27:33.787740+08:00|warning|kernel[-]|[  906.959812]  
SyS_ioctl+0x74/0x80
2018-01-08T16:27:33.787759+08:00|warning|kernel[-]|[  906.963117]  ? 
do_page_fault+0x33/0x120
2018-01-08T16:27:33.787780+08:00|warning|kernel[-]|[  906.967033]  
entry_SYSCALL_64_fastpath+0x1a/0x7d
2018-01-08T16:27:33.787805+08:00|warning|kernel[-]|[  906.971725] RIP: 
0033:0x7f3cad784507
2018-01-08T16:27:33.787825+08:00|warning|kernel[-]|[  906.975374] RSP: 
002b:00007fff54fdbe98 EFLAGS: 00000206
2018-01-08T16:27:33.787846+08:00|warning|kernel[-]|[  906.975376] Code: b2 e0 
bf 10 27 00 00 e8 2e 6a b4 e0 48 c7 c7 a4 89 5e a0 31 c0 e8 70 d5 b2 e0 48 63 
c5 83 c5 01 48 6b c0 60 48 03 83 70 a0 01 00 <c6> 40 4c 00 e9 e3 fd ff ff 66 0f 
1f 44 00 00 66 66 66 66 90 55 
2018-01-08T16:27:33.787867+08:00|alert|kernel[-]|[  906.999682] RIP: 
ixgbe_down+0x481/0x490 [ixgbe] RSP: ffffc9002757fcb0
2018-01-08T16:27:33.787889+08:00|warning|kernel[-]|[  907.006188] CR2: 
000000000000004c
2018-01-08T16:27:33.787911+08:00|warning|kernel[-]|[  907.009595] ---[ end 
trace 4a410621e06f2d79 ]---

Reply via email to