• Eric Dumazet's avatar
    net: pktgen: remove rcu locking in pktgen_change_name() · 9a0b1e8b
    Eric Dumazet authored
    After Jesper commit back in linux-3.18, we trigger a lockdep
    splat in proc_create_data() while allocating memory from
    pktgen_change_name().
    
    This patch converts t->if_lock to a mutex, since it is now only
    used from control path, and adds proper locking to pktgen_change_name()
    
    1) pktgen_thread_lock to protect the outer loop (iterating threads)
    2) t->if_lock to protect the inner loop (iterating devices)
    
    Note that before Jesper patch, pktgen_change_name() was lacking proper
    protection, but lockdep was not able to detect the problem.
    
    Fixes: 8788370a ("pktgen: RCU-ify "if_list" to remove lock in next_to_run()")
    Reported-by: default avatarJohn Sperbeck <jsperbeck@google.com>
    Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
    Cc: Jesper Dangaard Brouer <brouer@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    9a0b1e8b
pktgen.c 97.8 KB