Netdev List
 help / color / mirror / Atom feed
From: Simon Horman <horms@kernel.org>
To: Quan Sun <2022090917019@std.uestc.edu.cn>
Cc: linux-wpan@vger.kernel.org, netdev@vger.kernel.org,
	alex.aring@gmail.com, davem@davemloft.net, edumazet@google.com,
	andrew@lunn.ch
Subject: Re: [PATCH] net: iphc: fix offset errors in multicast context compression
Date: Fri, 8 May 2026 14:21:13 +0100	[thread overview]
Message-ID: <20260508132113.GN15617@horms.kernel.org> (raw)
In-Reply-To: <20260505163146.432309-1-2022090917019@std.uestc.edu.cn>

On Wed, May 06, 2026 at 12:31:46AM +0800, Quan Sun wrote:
> The function lowpan_iphc_mcast_ctx_addr_compress() contains two offset
> errors that break context-based multicast address compression
> (LOWPAN_IPHC_DAM_00).
> 
> When compressing the multicast address, the compressed format expects
> exactly 6 bytes:
>   - Bytes 0-1: Flags, scope, and reserved bits (from s6_addr[1..2])
>   - Bytes 2-5: The 4-byte Group ID (from s6_addr[12..15])
> 
> Currently, the memcpy() operations use incorrect offsets:
> 1. The destination offset for the Group ID is &data[1] instead of
>    &data[2]. This overwrites the previously copied scope byte.
> 2. The source offset for the Group ID is &ipaddr->s6_addr[11] instead
>    of &ipaddr->s6_addr[12].
> 
> This mismatch results in a corrupted compressed address being
> transmitted. Consequently, the receiving side fails to reconstruct the
> original IPv6 address via lowpan_uncompress_multicast_ctx_daddr() since
> it expects the Group ID to start at data[2].
> 
> Fix the logic by correcting both the destination and source offsets
> so that the 6-byte compressed representation is assembled correctly.

Thanks,

This matches my understanding of:

RFC 6382 Compression Format for IPv6 Datagrams over IEEE 802.15.4-Based Networks
-> Section  3.2.4. Stateful Multicast Address Compression
   https://www.rfc-editor.org/rfc/rfc6282#section-3.2.4

And it's reference to 

RFC 3306 Unicast-Prefix-based IPv6 Multicast Addresses
-> Section 4. Multicast Address Format
   https://www.rfc-editor.org/rfc/rfc3306#section-4

RFC 6382 is referred to by
RFC 6775 Neighbor Discovery Optimization for IPv6 over Low-Power Wireless
         Personal Area Networks (6LoWPANs)
- https://www.rfc-editor.org/rfc/rfc6775.html

Which is in turn referred to by
RFC 8138 IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN)
         Routing Header
-> Section 4.3.  Compressing Addresses
   https://www.rfc-editor.org/rfc/rfc8138.html#section-4.3


> Signed-off-by: Quan Sun <2022090917019@std.uestc.edu.cn>

As a fix this should have a fixes tag.
I think this one is appropriate.

Fixes: 5609c185f24d ("6lowpan: iphc: add support for stateful compression")

I don't think you need to repost because of this, but for future reference,
fixes for Networking code present in the net tree should be targeted at
that tree. This includes making sure the patch applies to that tree
(I assume this one does) and including net, as opposed to net-next,
in the patch subject like this:

Subject: [PATCH net] ...

Also, as a fix this probably waranted being CCed to stable.

For more information on Networking development process please see
https://docs.kernel.org/process/maintainer-netdev.html

The last two points not withstanding, this looks good to me.

Reviewed-by: Simon Horman <horms@kernel.org>

...

      reply	other threads:[~2026-05-08 13:21 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-05 16:31 [PATCH] net: iphc: fix offset errors in multicast context compression Quan Sun
2026-05-08 13:21 ` Simon Horman [this message]

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=20260508132113.GN15617@horms.kernel.org \
    --to=horms@kernel.org \
    --cc=2022090917019@std.uestc.edu.cn \
    --cc=alex.aring@gmail.com \
    --cc=andrew@lunn.ch \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=linux-wpan@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox