[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <8c2f3ef3-af8b-f31b-8742-bdd7cace45d0@datenfreihafen.org>
Date: Mon, 29 Aug 2022 11:04:18 +0200
From: Stefan Schmidt <stefan@...enfreihafen.org>
To: Miquel Raynal <miquel.raynal@...tlin.com>
Cc: Alexander Aring <alex.aring@...il.com>, linux-wpan@...r.kernel.org,
"David S. Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Eric Dumazet <edumazet@...gle.com>, netdev@...r.kernel.org,
David Girault <david.girault@...vo.com>,
Romuald Despres <romuald.despres@...vo.com>,
Frederic Blain <frederic.blain@...vo.com>,
Nicolas Schodet <nico@...fr.eu.org>,
Thomas Petazzoni <thomas.petazzoni@...tlin.com>,
stable@...r.kernel.org
Subject: Re: [PATCH] net: mac802154: Fix a condition in the receive path
Hello Miquel
On 29.08.22 11:01, Miquel Raynal wrote:
> Hi Stefan,
>
> stefan@...enfreihafen.org wrote on Mon, 29 Aug 2022 10:52:52 +0200:
>
>> Hello Miquel.
>>
>> On 26.08.22 16:29, Miquel Raynal wrote:
>>> Upon reception, a packet must be categorized, either it's destination is
>>> the host, or it is another host. A packet with no destination addressing
>>> fields may be valid in two situations:
>>> - the packet has no source field: only ACKs are built like that, we
>>> consider the host as the destination.
>>> - the packet has a valid source field: it is directed to the PAN
>>> coordinator, as for know we don't have this information we consider we
>>> are not the PAN coordinator.
>>>
>>> There was likely a copy/paste error made during a previous cleanup
>>> because the if clause is now containing exactly the same condition as in
>>> the switch case, which can never be true. In the past the destination
>>> address was used in the switch and the source address was used in the
>>> if, which matches what the spec says.
>>>
>>> Cc: stable@...r.kernel.org
>>> Fixes: ae531b9475f6 ("ieee802154: use ieee802154_addr instead of *_sa variants")
>>> Signed-off-by: Miquel Raynal <miquel.raynal@...tlin.com>
>>> ---
>>> net/mac802154/rx.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/net/mac802154/rx.c b/net/mac802154/rx.c
>>> index b8ce84618a55..c439125ef2b9 100644
>>> --- a/net/mac802154/rx.c
>>> +++ b/net/mac802154/rx.c
>>> @@ -44,7 +44,7 @@ ieee802154_subif_frame(struct ieee802154_sub_if_data *sdata,
>>> > switch (mac_cb(skb)->dest.mode) {
>>> case IEEE802154_ADDR_NONE:
>>> - if (mac_cb(skb)->dest.mode != IEEE802154_ADDR_NONE)
>>> + if (hdr->source.mode != IEEE802154_ADDR_NONE)
>>> /* FIXME: check if we are PAN coordinator */
>>> skb->pkt_type = PACKET_OTHERHOST;
>>> else
>>
>>
>> This patch has been applied to the wpan tree and will be
>> part of the next pull request to net. Thanks!
>
> Great, thanks!
>
> We should expect it not to apply until the tag mentioned in Fixes
> because in 2015 or so there was some cleaned done by Alexander which
> move things around a little bit, but I think we are fine skipping those
> older releases anyway.
The machinery behind stable handles this already. It checks for the
fixes tag and also sees if patches apply.
regards
Stefan Schmidt
Powered by blists - more mailing lists