]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - net/ipv4/tcp_ulp.c
Merge tag 'for-linus-20180906' of git://git.kernel.dk/linux-block
[linux.git] / net / ipv4 / tcp_ulp.c
index 622caa4039e025d70d1b0592fab554ab747dc666..a5995bb2eaca2df06ce0abd8f83107b08c1516c3 100644 (file)
@@ -51,7 +51,7 @@ static const struct tcp_ulp_ops *__tcp_ulp_find_autoload(const char *name)
 #ifdef CONFIG_MODULES
        if (!ulp && capable(CAP_NET_ADMIN)) {
                rcu_read_unlock();
-               request_module("%s", name);
+               request_module("tcp-ulp-%s", name);
                rcu_read_lock();
                ulp = tcp_ulp_find(name);
        }
@@ -129,6 +129,8 @@ void tcp_cleanup_ulp(struct sock *sk)
        if (icsk->icsk_ulp_ops->release)
                icsk->icsk_ulp_ops->release(sk);
        module_put(icsk->icsk_ulp_ops->owner);
+
+       icsk->icsk_ulp_ops = NULL;
 }
 
 /* Change upper layer protocol for socket */