[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <f3a9797eb23d9c26007652798f14b76330aa1933.camel@sipsolutions.net>
Date: Mon, 10 Nov 2025 10:28:23 +0100
From: Johannes Berg <johannes@...solutions.net>
To: Ranganath V N <vnranganath.20@...il.com>, Dave Täht
<dave.taht@...ferbloat.net>, "John W. Linville" <linville@...driver.com>
Cc: linux-wireless@...r.kernel.org, linux-kernel@...r.kernel.org,
skhan@...uxfoundation.org, david.hunter.linux@...il.com, khalid@...nel.org,
syzbot+878ddc3962f792e9af59@...kaller.appspotmail.com
Subject: Re: [PATCH v2] wifi: cfg80211: Fix uninitialized header access in
cfg80211_classify8021d
On Sat, 2025-11-08 at 00:03 +0530, Ranganath V N wrote:
>
> +++ b/net/wireless/util.c
> @@ -963,9 +963,13 @@ unsigned int cfg80211_classify8021d(struct sk_buff *skb,
>
> switch (skb->protocol) {
> case htons(ETH_P_IP):
> + if (!pskb_may_pull(skb, sizeof(struct iphdr)))
> + return 0;
> dscp = ipv4_get_dsfield(ip_hdr(skb)) & 0xfc;
> break;
That doesn't seem correct to me, passing only the IP header length to
pskb_may_pull() call assumes that ip_hdr(skb) == sbk->data, which is
almost certainly not true?
MPLS seems to not have this problem.
And maybe there's a similar issue for the VLAN tag?
johannes
Powered by blists - more mailing lists