Merge tag 'pci-v5.6-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci
[linux-2.6-microblaze.git] / net / ipv4 / tcp_cong.c
index 3737ec0..3172e31 100644 (file)
@@ -21,7 +21,7 @@ static DEFINE_SPINLOCK(tcp_cong_list_lock);
 static LIST_HEAD(tcp_cong_list);
 
 /* Simple linear search, don't expect many entries! */
-static struct tcp_congestion_ops *tcp_ca_find(const char *name)
+struct tcp_congestion_ops *tcp_ca_find(const char *name)
 {
        struct tcp_congestion_ops *e;
 
@@ -162,7 +162,7 @@ void tcp_assign_congestion_control(struct sock *sk)
 
        rcu_read_lock();
        ca = rcu_dereference(net->ipv4.tcp_congestion_control);
-       if (unlikely(!try_module_get(ca->owner)))
+       if (unlikely(!bpf_try_module_get(ca, ca->owner)))
                ca = &tcp_reno;
        icsk->icsk_ca_ops = ca;
        rcu_read_unlock();
@@ -208,7 +208,7 @@ void tcp_cleanup_congestion_control(struct sock *sk)
 
        if (icsk->icsk_ca_ops->release)
                icsk->icsk_ca_ops->release(sk);
-       module_put(icsk->icsk_ca_ops->owner);
+       bpf_module_put(icsk->icsk_ca_ops, icsk->icsk_ca_ops->owner);
 }
 
 /* Used by sysctl to change default congestion control */
@@ -222,12 +222,12 @@ int tcp_set_default_congestion_control(struct net *net, const char *name)
        ca = tcp_ca_find_autoload(net, name);
        if (!ca) {
                ret = -ENOENT;
-       } else if (!try_module_get(ca->owner)) {
+       } else if (!bpf_try_module_get(ca, ca->owner)) {
                ret = -EBUSY;
        } else {
                prev = xchg(&net->ipv4.tcp_congestion_control, ca);
                if (prev)
-                       module_put(prev->owner);
+                       bpf_module_put(prev, prev->owner);
 
                ca->flags |= TCP_CONG_NON_RESTRICTED;
                ret = 0;
@@ -366,19 +366,19 @@ int tcp_set_congestion_control(struct sock *sk, const char *name, bool load,
        } else if (!load) {
                const struct tcp_congestion_ops *old_ca = icsk->icsk_ca_ops;
 
-               if (try_module_get(ca->owner)) {
+               if (bpf_try_module_get(ca, ca->owner)) {
                        if (reinit) {
                                tcp_reinit_congestion_control(sk, ca);
                        } else {
                                icsk->icsk_ca_ops = ca;
-                               module_put(old_ca->owner);
+                               bpf_module_put(old_ca, old_ca->owner);
                        }
                } else {
                        err = -EBUSY;
                }
        } else if (!((ca->flags & TCP_CONG_NON_RESTRICTED) || cap_net_admin)) {
                err = -EPERM;
-       } else if (!try_module_get(ca->owner)) {
+       } else if (!bpf_try_module_get(ca, ca->owner)) {
                err = -EBUSY;
        } else {
                tcp_reinit_congestion_control(sk, ca);