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>
...
prev parent 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