From: Qingfang Deng <qingfang.deng@linux.dev>
To: Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Qingfang Deng <qingfang.deng@linux.dev>,
Kees Cook <kees@kernel.org>, Guillaume Nault <gnault@redhat.com>,
Eric Woudstra <ericwouds@gmail.com>,
Dawid Osuchowski <dawid.osuchowski@linux.intel.com>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: linux-ppp@vger.kernel.org
Subject: [PATCH net-next v2 1/2] pppox: remove sk_pppox() helper
Date: Fri, 10 Apr 2026 13:49:49 +0800 [thread overview]
Message-ID: <20260410054954.114031-1-qingfang.deng@linux.dev> (raw)
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>
---
Changes in v2: none
Link to v1: https://lore.kernel.org/r/20260408015138.280687-1-qingfang.deng@linux.dev
drivers/net/ppp/pppoe.c | 10 +++++-----
drivers/net/ppp/pptp.c | 6 +++---
include/linux/if_pppox.h | 5 -----
3 files changed, 8 insertions(+), 13 deletions(-)
diff --git a/drivers/net/ppp/pppoe.c b/drivers/net/ppp/pppoe.c
index 1ac61c273b28..d546a7af0d54 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 b18acd810561..cc8c102122d8 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 8bbf676c2a85..636772693f9a 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 {
--
2.43.0
next reply other threads:[~2026-04-10 5:50 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-10 5:49 Qingfang Deng [this message]
2026-04-10 5:49 ` [PATCH net-next v2 2/2] pppox: convert pppox_sk() to use container_of() Qingfang Deng
2026-04-12 22:30 ` [PATCH net-next v2 1/2] pppox: remove sk_pppox() helper patchwork-bot+netdevbpf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260410054954.114031-1-qingfang.deng@linux.dev \
--to=qingfang.deng@linux.dev \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=dawid.osuchowski@linux.intel.com \
--cc=edumazet@google.com \
--cc=ericwouds@gmail.com \
--cc=gnault@redhat.com \
--cc=kees@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-ppp@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.