Re: [PATCH] net: mac802154: Fix a condition in the receive path

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Miquel

On 29.08.22 11:01, Miquel Raynal wrote:
Hi Stefan,

stefan@xxxxxxxxxxxxxxxxxx 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@xxxxxxxxxxxxxxx
Fixes: ae531b9475f6 ("ieee802154: use ieee802154_addr instead of *_sa variants")
Signed-off-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx>
---
   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



[Index of Archives]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux