linux中的空指针错误

最近,当VF上升或下降到docker容器中时,由于函数ixgbevf_alloc_rx_buffers中的NULL指针取消引用,我们遇到了内核恐慌问题 . 我们可以在容器中降低vf时重现问题 .

驱动程序和内核信息:

驱动程序:ixgbe版本:4.4.0-k-rh7.3

驱动程序:ixgbevf版本:2.12.1-k-rh7.3

主机内核:centos Linux 3.10.0-514.26.2.el7.x86_64#1 SMP Tue 7月4日15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU / Linux

BUG:

[15332.577915] BUG: unable to handle kernel NULL pointer dereference at 0000000000000008
    [15332.578277] IP: [<ffffffffa05dc610>] ixgbevf_alloc_rx_buffers+0x60/0x180 [ixgbevf]
    [15332.578569] PGD 3ed27a0067 PUD 3ed27a3067 PMD 0 
    [15332.579034] Oops: 0000 [#1] SMP 
    [15332.579512] Modules linked in: ixgbevf xt_set ip_set_hash_ipportnet ip_set_bitmap_port ip_set_hash_ipport ip_set_hash_ipportip ip_set dummy xt_comment xt_mark ipt_MASQUERADE nf_nat_masquerade_ipv4 nf_conntrack_netlink nfnetlink xt_conntrack br_netfilter bridge stp llc overlay(T) iptable_filter xt_addrtype iptable_nat nf_nat_ipv4 nf_nat nf_conntrack_ipv4 nf_defrag_ipv4 ip_vs_sh ip_vs_wrr ip_vs_rr ip_vs nf_conntrack intel_powerclamp coretemp intel_rapl iosf_mbi kvm_intel kvm irqbypass crc32_pclmul iTCO_wdt ghash_clmulni_intel aesni_intel iTCO_vendor_support mxm_wmi lrw gf128mul glue_helper ablk_helper cryptd mei_me ipmi_devintf pcspkr mei sg i2c_i801 lpc_ich ipmi_si ipmi_msghandler wmi shpchp acpi_power_meter ip_tables xfs libcrc32c sd_mod crc_t10dif crct10dif_generic crct10dif_pclmul ast crct10dif_common
    [15332.583611]  crc32c_intel drm_kms_helper syscopyarea sysfillrect sysimgblt ixgbe fb_sys_fops ttm igb mdio ahci drm ptp libahci pps_core dca i2c_algo_bit libata megaraid_sas i2c_core fjes dm_mirror dm_region_hash dm_log dm_mod
    [15332.586109] CPU: 30 PID: 302 Comm: kworker/u80:1 Tainted: G               ------------ T 3.10.0-514.26.2.el7.x86_64 #1
    [15332.587224] Hardware name: Sugon I610-G20/60G24-US, BIOS 006 08/07/2017
    [15332.588322] Workqueue: ixgbevf ixgbevf_service_task [ixgbevf]
    [15332.589099] task: ffff881ffd121f60 ti: ffff881ffd134000 task.ti: ffff881ffd134000
    [15332.589912] RIP: 0010:[<ffffffffa05dc610>]  [<ffffffffa05dc610>] ixgbevf_alloc_rx_buffers+0x60/0x180 [ixgbevf]
    [15332.590770] RSP: 0018:ffff881ffd137d20  EFLAGS: 00010287
    [15332.591638] RAX: 0000000000000200 RBX: 0000000000000000 RCX: 0000000000000000
    [15332.592534] RDX: 0000000000000000 RSI: 00000000000001ff RDI: ffff883fe13eaf00
    [15332.593438] RBP: ffff881ffd137d58 R08: ffff881ffd134000 R09: 0000000000000000
    [15332.594361] R10: 0000000000000001 R11: 0000000000000005 R12: 0000000000000000
    [15332.595300] R13: 00000000fffffe00 R14: 00000000000001ff R15: ffff883fe13eaf00
    [15332.596248] FS:  0000000000000000(0000) GS:ffff883fff280000(0000) knlGS:0000000000000000
    [15332.597224] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
    [15332.598231] CR2: 0000000000000008 CR3: 0000003ef3b68000 CR4: 00000000003407e0
    [15332.599257] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    [15332.600281] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
    [15332.601325] Stack:
    [15332.602352]  ffff883f85ab3ba8 ffff881ffd137d38 ffff883f85ab38c0 0000000000000009
    [15332.603431]  ffff883f85ab3ba8 ffff883fe13eaf00 0000000000001028 ffff881ffd137db8
    [15332.604526]  ffffffffa05de7af 0000003e00000000 ffff883f85ab38c0 0000000000001028
    [15332.605641] Call Trace:
    [15332.606757]  [<ffffffffa05de7af>] ixgbevf_configure+0x5af/0x720 [ixgbevf]
    [15332.608078]  [<ffffffffa05e04b5>] ixgbevf_reinit_locked+0x65/0x90 [ixgbevf]
    [15332.609329]  [<ffffffffa05e172f>] ixgbevf_service_task+0x29f/0x370 [ixgbevf]
    [15332.610515]  [<ffffffff810a845b>] process_one_work+0x17b/0x470
    [15332.611710]  [<ffffffff810a9296>] worker_thread+0x126/0x410
    [15332.612916]  [<ffffffff810a9170>] ? rescuer_thread+0x460/0x460
    [15332.614136]  [<ffffffff810b0a4f>] kthread+0xcf/0xe0
    [15332.615371]  [<ffffffff810b0980>] ? kthread_create_on_node+0x140/0x140
    [15332.616618]  [<ffffffff81697758>] ret_from_fork+0x58/0x90
    [15332.617877]  [<ffffffff810b0980>] ? kthread_create_on_node+0x140/0x140
    [15332.619153] Code: c5 41 89 f6 49 89 c4 48 8d 14 40 48 8b 47 38 49 c1 e4 04 4c 03 67 18 48 8d 1c d0 0f b7 47 2c 41 29 c5 66 0f 1f 84 00 00 00 00 00 <48> 83 7b 08 00 74 76 8b 53 10 48 8b 03 48 01 d0 49 83 c4 10 48 
    [15332.621915] RIP  [<ffffffffa05dc610>] ixgbevf_alloc_rx_buffers+0x60/0x180 [ixgbevf]
    [15332.623301]  RSP <ffff881ffd137d20>
    [15332.624659] CR2: 0000000000000008

有人之前有过这个错误吗?如何解决?

回答(1)

2 years ago

我们更新lxbge解决这个问题:pci:Intel公司以太网控制器10-Gigabit X540-AT2 lxbge版本:5.3.7内核版本:4.4.138-1.el7.elrepo.x86_64 linux发布:发布:7.4.1708