From: Qingfang Deng Date: Fri, 10 Apr 2026 05:49:49 +0000 (+0800) Subject: pppox: remove sk_pppox() helper X-Git-Tag: v7.1-rc1~173^2~19 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=105369d627b946f6a05f25e9c399167b1674d4bc;p=thirdparty%2Fkernel%2Flinux.git pppox: remove sk_pppox() helper 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 Link: https://patch.msgid.link/20260410054954.114031-1-qingfang.deng@linux.dev Signed-off-by: Jakub Kicinski --- diff --git a/drivers/net/ppp/pppoe.c b/drivers/net/ppp/pppoe.c index 1ac61c273b283..d546a7af0d54e 100644 --- a/drivers/net/ppp/pppoe.c +++ b/drivers/net/ppp/pppoe.c @@ -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); diff --git a/drivers/net/ppp/pptp.c b/drivers/net/ppp/pptp.c index b18acd8105619..cc8c102122d80 100644 --- a/drivers/net/ppp/pptp.c +++ b/drivers/net/ppp/pptp.c @@ -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); diff --git a/include/linux/if_pppox.h b/include/linux/if_pppox.h index 8bbf676c2a851..636772693f9aa 100644 --- a/include/linux/if_pppox.h +++ b/include/linux/if_pppox.h @@ -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 {