please backport 29869d66870a to v4.9 stable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

First, thank you for maintaining so many kernel versions so well!

I recently tested the v4.9 version and I had this warning:

[    8.004728] ------------[ cut here ]------------
[    8.005169] WARNING: CPU: 0 PID: 0 at
/home/jenkins/slave/workspace/kernel_v4.9.x/kernelspace/kernel/softirq.c:165
__local_bh_enable_ip+0x66/0x80
[    8.006397] Modules linked in:
[    8.006738] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.9.123 #2
[    8.007297] Hardware name: Red Hat KVM, BIOS 1.11.0-2.el7 04/01/2014
[    8.007841]  ffff88001fc03a90 ffffffff811c9935 0000000000000000
0000000000000000
[    8.008519]  ffff88001fc03ad0 ffffffff81046d27 000000a50ca87c00
0000000000000200
[    8.009186]  ffff88000ca87c00 ffff88000f200000 ffff88000c5007c0
ffff88000b47f24e
[    8.009813] Call Trace:
[    8.010033]  <IRQ> [    8.010195]  [<ffffffff811c9935>]
dump_stack+0x63/0x8e
[    8.010636]  [<ffffffff81046d27>] __warn+0xc7/0xf0
[    8.011039]  [<ffffffff81046e08>] warn_slowpath_null+0x18/0x20
[    8.011503]  [<ffffffff8104a686>] __local_bh_enable_ip+0x66/0x80
[    8.012044]  [<ffffffff814f8d55>] _raw_spin_unlock_bh+0x15/0x20
[    8.012515]  [<ffffffff8146ee87>] jtcp_rcv_established+0x227/0x2b0
[    8.013050]  [<ffffffff81444963>] tcp_v4_do_rcv+0x163/0x1f0
[    8.013493]  [<ffffffff81447b25>] tcp_v4_rcv+0xe85/0x10a0
[    8.013957]  [<ffffffff8146b23c>] ? nf_nat_ipv4_fn+0x19c/0x1e0
[    8.014431]  [<ffffffff8146e8b0>] ? iptable_nat_ipv4_fn+0x20/0x20
[    8.015013]  [<ffffffff8141fa8f>] ip_local_deliver_finish+0x9f/0x140
[    8.015517]  [<ffffffff81420090>] ip_local_deliver+0xc0/0xd0
[    8.016027]  [<ffffffff8141f9f0>] ? inet_del_offload+0x40/0x40
[    8.016490]  [<ffffffff8141fccb>] ip_rcv_finish+0x19b/0x350
[    8.017028]  [<ffffffff81420353>] ip_rcv+0x2b3/0x460
[    8.017425]  [<ffffffff8141fb30>] ? ip_local_deliver_finish+0x140/0x140
[    8.017990]  [<ffffffff813b5bde>] __netif_receive_skb_core+0x47e/0x840
[    8.018508]  [<ffffffff8144cff1>] ? tcp4_gro_receive+0x131/0x1b0
[    8.019029]  [<ffffffff8145c2b1>] ? inet_gro_receive+0x231/0x2a0
[    8.019507]  [<ffffffff813b8258>] __netif_receive_skb+0x18/0x60
[    8.020053]  [<ffffffff813b82c8>] netif_receive_skb_internal+0x28/0x90
[    8.020570]  [<ffffffff813b8b48>] napi_gro_receive+0x78/0xa0
[    8.021064]  [<ffffffff81332c28>] virtnet_receive+0x1f8/0x890
[    8.021520]  [<ffffffff813333b8>] virtnet_poll+0x18/0x80
[    8.021986]  [<ffffffff813b9cc6>] net_rx_action+0xf6/0x2c0
[    8.022422]  [<ffffffff8104a44c>] __do_softirq+0xcc/0x1e0
[    8.022874]  [<ffffffff8104a767>] irq_exit+0x67/0x70
[    8.023290]  [<ffffffff81019be1>] do_IRQ+0x51/0xe0
[    8.023695]  [<ffffffff814f99d6>] common_interrupt+0x96/0x96
[    8.024189]  <EOI> [    8.024351]  [<ffffffff814f8b30>] ?
__sched_text_end+0x3/0x3
[    8.024830]  [<ffffffff814f8bc6>] ? native_safe_halt+0x6/0x10
[    8.025307]  [<ffffffff814f8b39>] default_idle+0x9/0x10
[    8.025742]  [<ffffffff81021210>] arch_cpu_idle+0x10/0x20
[    8.026190]  [<ffffffff814f8c4e>] default_idle_call+0x1e/0x30
[    8.026813]  [<ffffffff81077621>] cpu_startup_entry+0xe1/0x1d0
[    8.027397]  [<ffffffff814f453d>] rest_init+0x6d/0x70
[    8.027832]  [<ffffffff8188f0dc>] start_kernel+0x4d0/0x4dd
[    8.028360]  [<ffffffff8188e9fa>] ? set_init_arg+0x55/0x55
[    8.028821]  [<ffffffff8188e120>] ? early_idt_handler_array+0x120/0x120
[    8.029372]  [<ffffffff8188e599>] x86_64_start_reservations+0x2a/0x2c
[    8.029910]  [<ffffffff8188e681>] x86_64_start_kernel+0xe6/0xf3
[    8.030412] ---[ end trace 5826c2ad94ee574a ]---

After a quick search, Christoph found that this kind of call trace had
already been reported by Intel's kernel test bot:
https://lkml.org/lkml/2017/2/19/251

According to this bot, it seems that the following commit caused the
warning:

    e70ac171658679ecf6bea4bbd9e9325cd6079d2b (tcp: tcp_probe: use
spin_lock_bh())

Note that this commit has been backported from v4.10 to v4.9.33.

The next day, Eric Dumazet, the author of the first patch, proposed a
second one which "simply" reverts this commit:

    29869d66870a715177bfb505f66a7e0e8bcc89c3 (tcp: Revert "tcp:
tcp_probe: use spin_lock_bh()")

You can find the discussions about this patch here, including a question
from Eric not being sure why it is not needed:
https://patchwork.ozlabs.org/patch/730560/

After having applied this patch (the reverted commit - 29869d66870a) on
the v4.9 tree, I confirm I no longer have the warning mentioned at the
beginning of this email.

I don't think many people are still using tcp probe -- recently removed
in v4.16 -- but it could be nice if someone could backport the commit
29869d66870a in v4.9.y tree to avoid extra warnings.

Again, thank you for your very nice work!

Best regards,
Matt

-- 
Matthieu Baerts | R&D Engineer
matthieu.baerts@xxxxxxxxxxxx
Tessares SA | Hybrid Access Solutions
www.tessares.net
1 Avenue Jean Monnet, 1348 Louvain-la-Neuve, Belgium



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux