hulk inclusion category: bugfix bugzilla: https://atomgit.com/src-openeuler/kernel/issues/15705 CVE: CVE-2026-53003 -------------------------------- After backport commit("pppoe: drop PFC frames"), add skbuff.h in ppp_defs.h, which causes kabi broken. Revert changes in ppp_defs.h. There is no change in function. Fixes: 723d4192935e ("pppoe: drop PFC frames") Signed-off-by: Lu Jialin <lujialin4@huawei.com> --- drivers/net/ppp/ppp_generic.c | 2 +- drivers/net/ppp/pppoe.c | 2 +- include/linux/ppp_defs.h | 16 ---------------- 3 files changed, 2 insertions(+), 18 deletions(-) diff --git a/drivers/net/ppp/ppp_generic.c b/drivers/net/ppp/ppp_generic.c index 2b5843d14cbb..7c863cb99383 100644 --- a/drivers/net/ppp/ppp_generic.c +++ b/drivers/net/ppp/ppp_generic.c @@ -2245,7 +2245,7 @@ ppp_do_recv(struct ppp *ppp, struct sk_buff *skb, struct channel *pch) */ static void __ppp_decompress_proto(struct sk_buff *skb) { - if (ppp_skb_is_compressed_proto(skb)) + if (skb->data[0] & 0x01) *(u8 *)skb_push(skb, 1) = 0x00; } diff --git a/drivers/net/ppp/pppoe.c b/drivers/net/ppp/pppoe.c index bc726b54ca74..874bb4045881 100644 --- a/drivers/net/ppp/pppoe.c +++ b/drivers/net/ppp/pppoe.c @@ -438,7 +438,7 @@ static int pppoe_rcv(struct sk_buff *skb, struct net_device *dev, /* skb->data points to the PPP protocol header after skb_pull_rcsum. * Drop PFC frames. */ - if (ppp_skb_is_compressed_proto(skb)) + if (skb->data[0] & 0x01) goto drop; if (pskb_trim_rcsum(skb, len)) diff --git a/include/linux/ppp_defs.h b/include/linux/ppp_defs.h index b1d1f46d7d3b..b7e57fdbd413 100644 --- a/include/linux/ppp_defs.h +++ b/include/linux/ppp_defs.h @@ -8,7 +8,6 @@ #define _PPP_DEFS_H_ #include <linux/crc-ccitt.h> -#include <linux/skbuff.h> #include <uapi/linux/ppp_defs.h> #define PPP_FCS(fcs, c) crc_ccitt_byte(fcs, c) @@ -26,19 +25,4 @@ static inline bool ppp_proto_is_valid(u16 proto) return !!((proto & 0x0101) == 0x0001); } -/** - * ppp_skb_is_compressed_proto - checks if PPP protocol in a skb is compressed - * @skb: skb to check - * - * Check if the PPP protocol field is compressed (the least significant - * bit of the most significant octet is 1). skb->data must point to the PPP - * protocol header. - * - * Return: Whether the PPP protocol field is compressed. - */ -static inline bool ppp_skb_is_compressed_proto(const struct sk_buff *skb) -{ - return unlikely(skb->data[0] & 0x01); -} - #endif /* _PPP_DEFS_H_ */ -- 2.34.1