]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
pppox: remove sk_pppox() helper
authorQingfang Deng <qingfang.deng@linux.dev>
Fri, 10 Apr 2026 05:49:49 +0000 (13:49 +0800)
committerJakub Kicinski <kuba@kernel.org>
Sun, 12 Apr 2026 22:20:45 +0000 (15:20 -0700)
The sk member can be directly accessed from struct pppox_sock without
relying on type casting. Remove the sk_pppox() helper and update all
call sites to use po->sk directly.

Signed-off-by: Qingfang Deng <qingfang.deng@linux.dev>
Link: https://patch.msgid.link/20260410054954.114031-1-qingfang.deng@linux.dev
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ppp/pppoe.c
drivers/net/ppp/pptp.c
include/linux/if_pppox.h

index 1ac61c273b283dae2f8a620a4197348200213d34..d546a7af0d54e0dd4d142fd05f1d21a834fd0a53 100644 (file)
@@ -231,7 +231,7 @@ static inline struct pppox_sock *get_item(struct pppoe_net *pn, __be16 sid,
        struct pppox_sock *po;
 
        po = __get_item(pn, sid, addr, ifindex);
-       if (po && !refcount_inc_not_zero(&sk_pppox(po)->sk_refcnt))
+       if (po && !refcount_inc_not_zero(&po->sk.sk_refcnt))
                po = NULL;
 
        return po;
@@ -273,7 +273,7 @@ static void pppoe_flush_dev(struct net_device *dev)
                        if (!po)
                                break;
 
-                       sk = sk_pppox(po);
+                       sk = &po->sk;
 
                        /* We always grab the socket lock, followed by the
                         * hash_lock, in that order.  Since we should hold the
@@ -413,7 +413,7 @@ static int pppoe_rcv(struct sk_buff *skb, struct net_device *dev,
        if (!po)
                goto drop;
 
-       return __sk_receive_skb(sk_pppox(po), skb, 0, 1, false);
+       return __sk_receive_skb(&po->sk, skb, 0, 1, false);
 
 drop:
        kfree_skb(skb);
@@ -425,7 +425,7 @@ static void pppoe_unbind_sock_work(struct work_struct *work)
 {
        struct pppox_sock *po = container_of(work, struct pppox_sock,
                                             proto.pppoe.padt_work);
-       struct sock *sk = sk_pppox(po);
+       struct sock *sk = &po->sk;
 
        lock_sock(sk);
        if (po->pppoe_dev) {
@@ -469,7 +469,7 @@ static int pppoe_disc_rcv(struct sk_buff *skb, struct net_device *dev,
        po = get_item(pn, ph->sid, eth_hdr(skb)->h_source, dev->ifindex);
        if (po)
                if (!schedule_work(&po->proto.pppoe.padt_work))
-                       sock_put(sk_pppox(po));
+                       sock_put(&po->sk);
 
 abort:
        kfree_skb(skb);
index b18acd810561992d1e00521c415ddfcf273070d2..cc8c102122d80018d3da14cd923fc8bcddb7db35 100644 (file)
@@ -62,7 +62,7 @@ static struct pppox_sock *lookup_chan(u16 call_id, __be32 s_addr)
                if (opt->dst_addr.sin_addr.s_addr != s_addr)
                        sock = NULL;
                else
-                       sock_hold(sk_pppox(sock));
+                       sock_hold(&sock->sk);
        }
        rcu_read_unlock();
 
@@ -164,7 +164,7 @@ static int pptp_xmit(struct ppp_channel *chan, struct sk_buff *skb)
        struct iphdr  *iph;
        int    max_headroom;
 
-       if (sk_pppox(po)->sk_state & PPPOX_DEAD)
+       if (po->sk.sk_state & PPPOX_DEAD)
                goto tx_drop;
 
        rt = pptp_route_output(po, &fl4);
@@ -375,7 +375,7 @@ static int pptp_rcv(struct sk_buff *skb)
        if (po) {
                skb_dst_drop(skb);
                nf_reset_ct(skb);
-               return sk_receive_skb(sk_pppox(po), skb, 0);
+               return sk_receive_skb(&po->sk, skb, 0);
        }
 drop:
        kfree_skb(skb);
index 8bbf676c2a851e2b835c7d1a95321343418517a6..636772693f9aa8f9c151f2e5b0ba2e14936d1165 100644 (file)
@@ -57,11 +57,6 @@ static inline struct pppox_sock *pppox_sk(struct sock *sk)
        return (struct pppox_sock *)sk;
 }
 
-static inline struct sock *sk_pppox(struct pppox_sock *po)
-{
-       return (struct sock *)po;
-}
-
 struct module;
 
 struct pppox_proto {