• Li RongQing's avatar
    ipv6: pcpu_tstats.syncp should be initialised in ip6_vti.c · 657e5d19
    Li RongQing authored
    initialise pcpu_tstats.syncp to kill the calltrace
    [   11.973950] Call Trace:
    [   11.973950]  [<819bbaff>] dump_stack+0x48/0x60
    [   11.973950]  [<819bbaff>] dump_stack+0x48/0x60
    [   11.973950]  [<81078dcf>] __lock_acquire.isra.22+0x1bf/0xc10
    [   11.973950]  [<81078dcf>] __lock_acquire.isra.22+0x1bf/0xc10
    [   11.973950]  [<81079fa7>] lock_acquire+0x77/0xa0
    [   11.973950]  [<81079fa7>] lock_acquire+0x77/0xa0
    [   11.973950]  [<817ca7ab>] ? dev_get_stats+0xcb/0x130
    [   11.973950]  [<817ca7ab>] ? dev_get_stats+0xcb/0x130
    [   11.973950]  [<8183862d>] ip_tunnel_get_stats64+0x6d/0x230
    [   11.973950]  [<8183862d>] ip_tunnel_get_stats64+0x6d/0x230
    [   11.973950]  [<817ca7ab>] ? dev_get_stats+0xcb/0x130
    [   11.973950]  [<817ca7ab>] ? dev_get_stats+0xcb/0x130
    [   11.973950]  [<811cf8c1>] ? __nla_reserve+0x21/0xd0
    [   11.973950]  [<811cf8c1>] ? __nla_reserve+0x21/0xd0
    [   11.973950]  [<817ca7ab>] dev_get_stats+0xcb/0x130
    [   11.973950]  [<817ca7ab>] dev_get_stats+0xcb/0x130
    [   11.973950]  [<817d5409>] rtnl_fill_ifinfo+0x569/0xe20
    [   11.973950]  [<817d5409>] rtnl_fill_ifinfo+0x569/0xe20
    [   11.973950]  [<810352e0>] ? kvm_clock_read+0x20/0x30
    [   11.973950]  [<810352e0>] ? kvm_clock_read+0x20/0x30
    [   11.973950]  [<81008e38>] ? sched_clock+0x8/0x10
    [   11.973950]  [<81008e38>] ? sched_clock+0x8/0x10
    [   11.973950]  [<8106ba45>] ? sched_clock_local+0x25/0x170
    [   11.973950]  [<8106ba45>] ? sched_clock_local+0x25/0x170
    [   11.973950]  [<810da6bd>] ? __kmalloc+0x3d/0x90
    [   11.973950]  [<810da6bd>] ? __kmalloc+0x3d/0x90
    [   11.973950]  [<817b8c10>] ? __kmalloc_reserve.isra.41+0x20/0x70
    [   11.973950]  [<817b8c10>] ? __kmalloc_reserve.isra.41+0x20/0x70
    [   11.973950]  [<810da81a>] ? slob_alloc_node+0x2a/0x60
    [   11.973950]  [<810da81a>] ? slob_alloc_node+0x2a/0x60
    [   11.973950]  [<817b919a>] ? __alloc_skb+0x6a/0x2b0
    [   11.973950]  [<817b919a>] ? __alloc_skb+0x6a/0x2b0
    [   11.973950]  [<817d8795>] rtmsg_ifinfo+0x65/0xe0
    [   11.973950]  [<817d8795>] rtmsg_ifinfo+0x65/0xe0
    [   11.973950]  [<817cbd31>] register_netdevice+0x531/0x5a0
    [   11.973950]  [<817cbd31>] register_netdevice+0x531/0x5a0
    [   11.973950]  [<81892b87>] ? ip6_tnl_get_cap+0x27/0x90
    [   11.973950]  [<81892b87>] ? ip6_tnl_get_cap+0x27/0x90
    [   11.973950]  [<817cbdb6>] register_netdev+0x16/0x30
    [   11.973950]  [<817cbdb6>] register_netdev+0x16/0x30
    [   11.973950]  [<81f574a6>] vti6_init_net+0x1c4/0x1d4
    [   11.973950]  [<81f574a6>] vti6_init_net+0x1c4/0x1d4
    [   11.973950]  [<81f573af>] ? vti6_init_net+0xcd/0x1d4
    [   11.973950]  [<81f573af>] ? vti6_init_net+0xcd/0x1d4
    [   11.973950]  [<817c16df>] ops_init.constprop.11+0x17f/0x1c0
    [   11.973950]  [<817c16df>] ops_init.constprop.11+0x17f/0x1c0
    [   11.973950]  [<817c1779>] register_pernet_operations.isra.9+0x59/0x90
    [   11.973950]  [<817c1779>] register_pernet_operations.isra.9+0x59/0x90
    [   11.973950]  [<817c18d1>] register_pernet_device+0x21/0x60
    [   11.973950]  [<817c18d1>] register_pernet_device+0x21/0x60
    [   11.973950]  [<81f574b6>] ? vti6_init_net+0x1d4/0x1d4
    [   11.973950]  [<81f574b6>] ? vti6_init_net+0x1d4/0x1d4
    [   11.973950]  [<81f574c7>] vti6_tunnel_init+0x11/0x68
    [   11.973950]  [<81f574c7>] vti6_tunnel_init+0x11/0x68
    [   11.973950]  [<81f572a1>] ? mip6_init+0x73/0xb4
    [   11.973950]  [<81f572a1>] ? mip6_init+0x73/0xb4
    [   11.973950]  [<81f0cba4>] do_one_initcall+0xbb/0x15b
    [   11.973950]  [<81f0cba4>] do_one_initcall+0xbb/0x15b
    [   11.973950]  [<811a00d8>] ? sha_transform+0x528/0x1150
    [   11.973950]  [<811a00d8>] ? sha_transform+0x528/0x1150
    [   11.973950]  [<81f0c544>] ? repair_env_string+0x12/0x51
    [   11.973950]  [<81f0c544>] ? repair_env_string+0x12/0x51
    [   11.973950]  [<8105c30d>] ? parse_args+0x2ad/0x440
    [   11.973950]  [<8105c30d>] ? parse_args+0x2ad/0x440
    [   11.973950]  [<810546be>] ? __usermodehelper_set_disable_depth+0x3e/0x50
    [   11.973950]  [<810546be>] ? __usermodehelper_set_disable_depth+0x3e/0x50
    [   11.973950]  [<81f0cd27>] kernel_init_freeable+0xe3/0x182
    [   11.973950]  [<81f0cd27>] kernel_init_freeable+0xe3/0x182
    [   11.973950]  [<81f0c532>] ? do_early_param+0x7a/0x7a
    [   11.973950]  [<81f0c532>] ? do_early_param+0x7a/0x7a
    [   11.973950]  [<819b5b1b>] kernel_init+0xb/0x100
    [   11.973950]  [<819b5b1b>] kernel_init+0xb/0x100
    [   11.973950]  [<819cebf7>] ret_from_kernel_thread+0x1b/0x28
    [   11.973950]  [<819cebf7>] ret_from_kernel_thread+0x1b/0x28
    [   11.973950]  [<819b5b10>] ? rest_init+0xc0/0xc0
    [   11.973950]  [<819b5b10>] ? rest_init+0xc0/0xc0
    
    Before 469bdcef ("ipv6: fix the use of pcpu_tstats in ip6_vti.c"),
    the pcpu_tstats.syncp is not used to pretect the 64bit elements of
    pcpu_tstats, so not appear this calltrace.
    Reported-by: default avatarFengguang Wu <fengguang.wu@intel.com>
    Signed-off-by: default avatarLi RongQing <roy.qing.li@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    657e5d19
ip6_vti.c 23.7 KB