[ovs-dev] oops in if_nlmsg_size

Jorge Nevado jorge.nevado at ericsson.com
Wed Jan 14 16:21:49 UTC 2015


Hi

We are experiencing an "oops" message when using openvswitch with linux kernel 3.12.28 version.
Current versions:
#ovs-vsctl --version
ovs-vsctl (Open vSwitch) 2.1.2
Compiled Oct  8 2014 16:20:50
# uname -a
Linux cots506 3.12.28-4-default #1 SMP Thu Sep 25 17:02:34 UTC 2014 (9879bd4) x86_64 x86_64 x86_64 GNU/Linux

We saw on another post that this situation can happen with kernel 3.14:
http://openvswitch.org/pipermail/dev/2014-February/036401.html
But the patch provided in that case applies to a method "rtnl_link_get_slave_info_data_size" that does not exist on 3.12.28.
We found that another patch was added on 3.12.31:
https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.12.31
"Commit 1d8faf48c74b8 ("net/core: Add VF link state control") added new
    attribute to IFLA_VF_INFO group in rtnl_fill_ifinfo but did not adjust size
    of the allocated memory in if_nlmsg_size/rtnl_vfinfo_size. As the result, we
    may trigger warnings in rtnl_getlink and similar functions when many VF
    links are enabled, as the information does not fit into the allocated skb."

Could this be the problem and so should we migrate to 3.12.31?(Basically we are using SUSE12 which ships with Linux 3.12.28)

Thanks in advance,
Jorge.

PD: This is the dmesg when the "oops" happen
...
[ 5332.257785] tun: Universal TUN/TAP device driver, 1.6
[ 5332.257790] tun: (C) 1999-2004 Max Krasnyansky <maxk at qualcomm.com>
[ 5432.060560] audit_printk_skb: 87 callbacks suppressed
[ 5432.060566] type=1006 audit(1421241301.720:130): pid=9737 uid=0 old auid=4294967295 new auid=0 old ses=4294967295 new ses=12 res=1
[ 5445.239586] type=1006 audit(1421241314.908:131): pid=5182 uid=0 old auid=4294967295 new auid=0 old ses=4294967295 new ses=13 res=1
[ 5493.502676] BUG: unable to handle kernel NULL pointer dereference at 00000000000000a8
[ 5493.503388] IP: [<ffffffff814344f8>] if_nlmsg_size+0xf8/0x220
[ 5493.504091] PGD 2f89067067 PUD 2f89ea4067 PMD 0
[ 5493.504798] Oops: 0000 [#1] SMP
[ 5493.505507] Modules linked in: tun st nfsv3 nfs_acl rpcsec_gss_krb5 auth_rpcgss nfsv4 dns_resolver nfs lockd sunrpc fscache iptable_filter ip_tables x_tables openvswitch(O) gre vxlan ip_tunnel libcrc32c iscsi_ibft iscsi_boot_sysfs af_packet joydev hid_generic ipmi_devintf iTCO_wdt iTCO_vendor_support dcdbas(X) usbhid coretemp kvm_intel ixgbe kvm tg3 ptp pps_core crct10dif_pclmul libphy crc32_pclmul crc32c_intel mdio dca ghash_clmulni_intel(X) shpchp aesni_intel aes_x86_64 lrw gf128mul glue_helper ablk_helper cryptd wmi pcspkr mei_me lpc_ich mei mfd_core ipmi_si ipmi_msghandler acpi_pad acpi_power_meter button processor ext4 crc16 mbcache jbd2 sr_mod cdrom sd_mod mgag200 syscopyarea sysfillrect sysimgblt i2c_algo_bit ahci drm_kms_helper libahci ehci_pci ttm ehci_hcd libata drm usbcore megaraid_sas
[ 5493.511130]  usb_common dm_mod sg scsi_mod autofs4
...
[ 5493.534249] Call Trace:
[ 5493.535647]  [<ffffffff814366e0>] rtmsg_ifinfo+0x30/0x100
[ 5493.537051]  [<ffffffff814367e5>] rtnetlink_event+0x35/0x40
[ 5493.538457]  [<ffffffff81514f1c>] notifier_call_chain+0x4c/0x70
[ 5493.539879]  [<ffffffff81428723>] __netdev_upper_dev_link+0x3a3/0x440
[ 5493.541299]  [<ffffffffa044425d>] netdev_create+0xcd/0x150 [openvswitch]
[ 5493.542744]  [<ffffffffa0442682>] ovs_vport_add+0x42/0x90 [openvswitch]
[ 5493.544192]  [<ffffffffa043a1de>] new_vport+0xe/0x50 [openvswitch]
[ 5493.545622]  [<ffffffffa043ca8d>] ovs_vport_cmd_new+0x11d/0x230 [openvswitch]




More information about the dev mailing list