Using ip/ifconfig to Bring the bnx2x Network Interface Down Crashes the Machine

(Doc ID 2346669.1)

Last updated on JANUARY 15, 2018

Applies to:

Oracle VM - Version 3.4.2 and later
Linux x86-64

Symptoms

Use ip/ifconfig command to bring the bnx2x network interface down crashes the machine.

The Linux kernel version is 4.1.12-61.1.9.el6uek.x86_64 and Oracle VM Server version is 3.4.2.

bnx2x driver version:

driver: bnx2x
version: 1.713.10
firmware-version: FFV08.07.25 bc 7.13.54
bus-info: 0000:01:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes

When ip or ifconfig command to bring down the bnx2x network interface, the following stack trace is seen

crash64> bt
PID: 11775 TASK: ffff880100f57000 CPU: 18 COMMAND: "ip"
#0 [ffff8800088bf220] panic at ffffffff816c62f9
#1 [ffff8800088bf2a0] oops_end at ffffffff8101a7aa
#2 [ffff8800088bf2d0] no_context at ffffffff8106d7a1
#3 [ffff8800088bf320] __bad_area_nosemaphore at ffffffff8106d99d
#4 [ffff8800088bf370] bad_area_nosemaphore at ffffffff8106dab3
#5 [ffff8800088bf380] __do_page_fault at ffffffff8106e028
#6 [ffff8800088bf3f0] do_page_fault at ffffffff8106e337
#7 [ffff8800088bf430] page_fault at ffffffff816cd258
[exception RIP: bnx2x_set_rx_mode_e2+55]
RIP: ffffffffa02d0ab7 RSP: ffff8800088bf4e8 RFLAGS: 00010246
RAX: 0000000000000000 RBX: ffff8800088bf538 RCX: 0000000000000021
RDX: 0000000000000510 RSI: 0000000000000000 RDI: 0000000000000510
RBP: ffff8800088bf508 R8: 0000000000000000 R9: 0000000000000003
R10: 0000000000000000 R11: ffff8800088bf538 R12: ffff880470db4840
R13: ffff880470db4840 R14: 0000000000000009 R15: ffffffffa03054fb
ORIG_RAX: ffffffffffffffff CS: e030 SS: e02b
#8 [ffff8800088bf510] bnx2x_config_rx_mode at ffffffffa02c88f1 [bnx2x]
#9 [ffff8800088bf530] bnx2x_set_q_rx_mode at ffffffffa0272eb4 [bnx2x]
#10 [ffff8800088bf5a0] bnx2x_set_storm_rx_mode at ffffffffa0273029 [bnx2x]
#11 [ffff8800088bf5d0] bnx2x_chip_cleanup at ffffffffa0287753 [bnx2x]
#12 [ffff8800088bf690] bnx2x_nic_unload at ffffffffa02b0f26 [bnx2x]
#13 [ffff8800088bf700] bnx2x_close at ffffffffa026de1c [bnx2x]
#14 [ffff8800088bf710] __dev_close_many at ffffffff815ed10e
#15 [ffff8800088bf730] __dev_close at ffffffff815ed198
#16 [ffff8800088bf760] __dev_change_flags at ffffffff815edb4c
#17 [ffff8800088bf7a0] dev_change_flags at ffffffff815edc50
#18 [ffff8800088bf7e0] do_setlink at ffffffff816003cd
#19 [ffff8800088bf880] rtnl_newlink at ffffffff81601f2b
#20 [ffff8800088bfb40] rtnetlink_rcv_msg at ffffffff81600e7d
#21 [ffff8800088bfbc0] netlink_rcv_skb at ffffffff816249c9
#22 [ffff8800088bfbf0] rtnetlink_rcv at ffffffff81600f55
#23 [ffff8800088bfc10] netlink_unicast at ffffffff81623a26
#24 [ffff8800088bfc70] netlink_sendmsg at ffffffff816242ec
#25 [ffff8800088bfcf0] sock_sendmsg at ffffffff815d2cbd
#26 [ffff8800088bfd10] ___sys_sendmsg at ffffffff815d55fa
#27 [ffff8800088bfeb0] __sys_sendmsg at ffffffff815d5829
#28 [ffff8800088bff40] sys_sendmsg at ffffffff815d5889
#29 [ffff8800088bff50] system_call_fastpath at ffffffff816cb26e
RIP: 0000003db88e98c0 RSP: 00007ffc057884a8 RFLAGS: 00000246
RAX: ffffffffffffffda RBX: 0000000000637900 RCX: 0000003db88e98c0
RDX: 0000000000000000 RSI: 00007ffc057884e0 RDI: 0000000000000003
RBP: 00007ffc05788a90 R8: 0000000000000000 R9: 0000000000000000
R10: 000000000063ad50 R11: 0000000000000246 R12: 0000000000000000
R13: 00007ffc0578c550 R14: 00007ffc057884d0 R15: 0000000000000888
ORIG_RAX: 000000000000002e CS: 0033 SS: 002b

Before the crash triggered by ip/ifconfig command, NETDEV warning and bnx2x driver memory allocation will be observed.

[4949328.559766] WARNING: CPU: 5 PID: 0 at net/sched/sch_generic.c:303 dev_watchdog+0x240/0x250()
[4949328.559768] NETDEV WATCHDOG: em4 (bnx2x): transmit queue 2 timed out

[4949328.559817] Call Trace:
[4949328.559818] <IRQ> [<ffffffff816c6570>] dump_stack+0x63/0x83
[4949328.559828] [<ffffffff810845e5>] warn_slowpath_common+0x95/0xe0
[4949328.559830] [<ffffffff810846e6>] warn_slowpath_fmt+0x46/0x70
[4949328.559844] [<ffffffffa030598f>] ? CSWTCH.1444+0x163df/0xfffffffffffeebe4 [bnx2x]
[4949328.559846] [<ffffffff816159c0>] dev_watchdog+0x240/0x250
[4949328.559848] [<ffffffff81615780>] ? __netdev_watchdog_up+0x80/0x80
[4949328.559851] [<ffffffff810ecfa7>] call_timer_fn+0x47/0x160
[4949328.559853] [<ffffffff810ed2c0>] run_timer_softirq+0x200/0x380
[4949328.559855] [<ffffffff81615780>] ? __netdev_watchdog_up+0x80/0x80
[4949328.559857] [<ffffffff8108879a>] __do_softirq+0x10a/0x350
[4949328.559860] [<ffffffff81088b55>] irq_exit+0x125/0x130
[4949328.559862] [<ffffffff813e5a89>] xen_evtchn_do_upcall+0x39/0x50
[4949328.559866] [<ffffffff816cce5e>] xen_do_hypervisor_callback+0x1e/0x40
[4949328.559866] <EOI> [<ffffffff810013aa>] ? xen_hypercall_sched_op+0xa/0x20
[4949328.559870] [<ffffffff810013aa>] ? xen_hypercall_sched_op+0xa/0x20
[4949328.559872] [<ffffffff8100baf0>] ? xen_safe_halt+0x10/0x20
[4949328.559874] [<ffffffff81022abe>] ? default_idle+0x1e/0x100
[4949328.559876] [<ffffffff8102210f>] ? arch_cpu_idle+0xf/0x20
[4949328.559879] [<ffffffff810c8f25>] ? cpuidle_idle_call+0x135/0x1e0
4949328.559880] [<ffffffff810c91c5>] ? cpu_idle_loop+0x1f5/0x220
[4949328.559882] [<ffffffff810c920b>] ? cpu_startup_entry+0x1b/0x70
[4949328.559883] [<ffffffff810c924f>] ? cpu_startup_entry+0x5f/0x70
[4949328.559886] [<ffffffff81013a5a>] ? cpu_bringup_and_idle+0x2a/0x40

 ...

[4949330.123314] bnx2x: [bnx2x_alloc_mem:8399(em4)]Can't allocate memory
[4949330.123556] bnx2x: [bnx2x_nic_load:2653(em4)]Unable to allocate bp memory
[4949330.160753] bond0: link status down for backup interface em4.218, disabling it in 500 ms
[4949330.266744] bond2: link status down for active interface em4.220, disabling it in 500 ms
[4949330.660789] bond0: link status definitely down for interface em4.218, disabling it
[4949330.766758] bond2: link status definitely down for interface em4.220, disabling it

[4949330.123147] Call Trace:
[4949330.123151] [<ffffffff816c6570>] dump_stack+0x63/0x83
[4949330.123154] [<ffffffff8118e3aa>] warn_alloc_failed+0xea/0x140
[4949330.123157] [<ffffffff81191c19>] __alloc_pages_slowpath+0x409/0x760
[4949330.123160] [<ffffffff81192221>] __alloc_pages_nodemask+0x2b1/0x2d0
[4949330.123162] [<ffffffff81192a4d>] ? free_pcppages_bulk+0x3bd/0x500
[4949330.123165] [<ffffffff811dc1bf>] alloc_pages_current+0xaf/0x170
[4949330.123167] [<ffffffff8118dece>] __get_free_pages+0xe/0x40
[4949330.123170] [<ffffffff813f2d4f>] xen_swiotlb_alloc_coherent+0x5f/0x400
[4949330.123180] [<ffffffffa02ae1c0>] ? bnx2x_rx_int+0xcd0/0xcd0 [bnx2x]
[4949330.123185] [<ffffffff815f0010>] ? __napi_schedule+0x60/0x60
[4949330.123192] [<ffffffffa0285d0f>] bnx2x_alloc_mem+0x65f/0x8a0 [bnx2x]
[4949330.123201] [<ffffffffa02b186f>] bnx2x_nic_load+0x1cf/0x1ae0 [bnx2x]
[4949330.123203] [<ffffffff813f319f>] ? xen_swiotlb_free_coherent+0xaf/0x390
[4949330.123209] [<ffffffffa0284f0a>] ? bnx2x_free_mem+0x2fa/0x5e0 [bnx2x]
[4949330.123215] [<ffffffffa026e5dc>] ? bnx2x_clear_pf_load+0xbc/0x130 [bnx2x]
[4949330.123222] [<ffffffffa02b133f>] ? bnx2x_nic_unload+0x6ff/0x9a0 [bnx2x]
[4949330.123228] [<ffffffffa0278b28>] bnx2x_sp_rtnl_task+0x188/0x420 [bnx2x]
[4949330.123232] [<ffffffff8109f07e>] process_one_work+0x14e/0x4b0
[4949330.123234] [<ffffffff8109f500>] worker_thread+0x120/0x480
[4949330.123236] [<ffffffff816c69a9>] ? __schedule+0x309/0x880
[4949330.123238] [<ffffffff8109f3e0>] ? process_one_work+0x4b0/0x4b0
[4949330.123240] [<ffffffff8109f3e0>] ? process_one_work+0x4b0/0x4b0
[4949330.123243] [<ffffffff810a46de>] kthread+0xce/0xf0
[4949330.123245] [<ffffffff810a4610>] ? kthread_freezable_should_stop+0x70/0x70
[4949330.123247] [<ffffffff816cb662>] ret_from_fork+0x42/0x70
[4949330.123249] [<ffffffff810a4610>] ? kthread_freezable_should_stop+0x70/0x70

 

Changes

 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms