• David Ahern's avatar
    net: add rcu locking when changing early demux · 58c4c6a3
    David Ahern authored
    systemd-sysctl is triggering a suspicious RCU usage message when
    net.ipv4.tcp_early_demux or net.ipv4.udp_early_demux is changed via
    a sysctl config file:
    
    [   33.896184] ===============================
    [   33.899558] [ ERR: suspicious RCU usage.  ]
    [   33.900624] 4.11.0-rc7+ #104 Not tainted
    [   33.901698] -------------------------------
    [   33.903059] /home/dsa/kernel-2.git/net/ipv4/sysctl_net_ipv4.c:305 suspicious rcu_dereference_check() usage!
    [   33.905724]
    other info that might help us debug this:
    
    [   33.907656]
    rcu_scheduler_active = 2, debug_locks = 0
    [   33.909288] 1 lock held by systemd-sysctl/143:
    [   33.910373]  #0:  (sb_writers#5){.+.+.+}, at: [<ffffffff8123a370>] file_start_write+0x45/0x48
    [   33.912407]
    stack backtrace:
    [   33.914018] CPU: 0 PID: 143 Comm: systemd-sysctl Not tainted 4.11.0-rc7+ #104
    [   33.915631] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_083030-gandalf 04/01/2014
    [   33.917870] Call Trace:
    [   33.918431]  dump_stack+0x81/0xb6
    [   33.919241]  lockdep_rcu_suspicious+0x10f/0x118
    [   33.920263]  proc_configure_early_demux+0x65/0x10a
    [   33.921391]  proc_udp_early_demux+0x3a/0x41
    
    add rcu locking to proc_configure_early_demux.
    
    Fixes: dddb64bc ("net: Add sysctl to toggle early demux for tcp and udp")
    Signed-off-by: default avatarDavid Ahern <dsa@cumulusnetworks.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    58c4c6a3
sysctl_net_ipv4.c 28 KB