lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 29 Apr 2021 20:15:12 +0800
From:   Jason Xing <kerneljasonxing@...il.com>
To:     David Miller <davem@...emloft.net>,
        Hideaki YOSHIFUJI <yoshfuji@...ux-ipv6.org>,
        dsahern@...nel.org, kuba@...nel.org
Cc:     netdev <netdev@...r.kernel.org>,
        LKML <linux-kernel@...r.kernel.org>,
        liweishi <liweishi@...ishou.com>
Subject: soft lockup in __inet_lookup_established() function

Hello,

I've encountered one big issue which causes infinite loop in
__inet_lookup_established() function until I reboot manually. it's
happening randomly among thousands of machines with the 4.19 kernel
running. Once the soft lockup issue is triggered, whatever I try I
still cannot ping or ssh to the machine anymore until reboot.

Does anyone have any clue on how to dig into this part of code?  I
highly suspect that it has something to do with the corruption of
nulls_list, so the lookup of sk could never break the infinite loop of
hashinfo.

These call traces are totally identical attached below:
[1048271.465028] watchdog: BUG: soft lockup - CPU#20 stuck for 22s!
[swapper/20:0]
[1048271.473669] Modules linked in: vxlan ip6_udp_tunnel udp_tunnel
udp_diag tcp_diag inet_diag nf_conntrack_netlink nfnetlink
br_netfilter bridge stp llc xt_statistic xt_nat ipt_MASQUERADE
ipt_REJECT nf_reject_ipv4 xt_mark xt_addrtype xt_comment xt_conntrack
...
[1048271.553597] RIP: 0010:__inet_lookup_established+0x5a/0x190
...
[1048271.660309] Call Trace:
[1048271.663135]  <IRQ>
[1048271.665432]  tcp_v4_early_demux+0xaa/0x150
[1048271.669812]  ip_rcv_finish+0x171/0x410
[1048271.673941]  ip_rcv+0x273/0x362
[1048271.677360]  ? inet_add_protocol.cold.1+0x1e/0x1e
[1048271.682354]  __netif_receive_skb_core+0xac2/0xbb0
[1048271.687351]  ? inet_gro_receive+0x22a/0x2d0
[1048271.692001]  ? ktime_get_with_offset+0x4d/0xc0
[1048271.696725]  netif_receive_skb_internal+0x42/0xf0
[1048271.701717]  napi_gro_receive+0xba/0xe0
[1048271.705839]  receive_buf+0x165/0xa50 [virtio_net]
[1048271.710839]  ? receive_buf+0x165/0xa50 [virtio_net]
[1048271.716053]  ? vring_unmap_one+0x16/0x80
[1048271.720308]  ? detach_buf+0x69/0x110
[1048271.724218]  virtnet_poll+0xc0/0x2ea [virtio_net]
[1048271.729202]  net_rx_action+0x149/0x3b0
[1048271.733234]  __do_softirq+0xe3/0x30a
[1048271.737095]  irq_exit+0x100/0x110
[1048271.740882]  do_IRQ+0x85/0xd0
[1048271.744143]  common_interrupt+0xf/0xf
[1048271.748104]  </IRQ>


thanks,
jason

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ