Re: [PATCH net v2] mctp: route: iterate socket tag list in mctp_lookup_prealloc_tag()

From: krzk

Date: Mon Sep 21 2026 - 11:14:59 EST



On Mon, 21 Sep 2026 05:10:01 +0000, Hui Peng wrote:
> When a socket transmits a packet with MCTP_TAG_PREALLOC set,
> mctp_lookup_prealloc_tag() iterates over the per-netns &mns->keys list
> and matches netid, req_tag, peer_addr, and manual_alloc, without
> checking whether tmp->sk == &msk->sk. This allows any MCTP socket in the
> same network namespace to use and consume another socket's preallocated
> tag.
>
> Iterate the socket's own tag list (&msk->keys via sklist) instead of the
> namespace-wide &mns->keys list in mctp_lookup_prealloc_tag(), ensuring
> that only tags allocated by msk are matched.
>
> Tested in QEMU against Linux 7.3.0-rc3 by allocating a manual tag
> (0x18) on socket A via SIOCMCTPALLOCTAG for peer EID 9 and sending a
> 4-byte message with MCTP_TAG_PREALLOC from socket B in the same network
> namespace. On the unfixed kernel, sendto(sock_b) using socket A's
> preallocated tag succeeds (ret = 4); with this patch applied,
> sendto(sock_b) fails with -ENOENT (errno = 2) while sendto(sock_a)
> succeeds (ret = 4).
>
> Fixes: 63ed1aab3d40 ("mctp: Add SIOCMCTP{ALLOC,DROP}TAG ioctls for tag control")
> Suggested-by: Jeremy Kerr <jk@xxxxxxxxxxxxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
> Assisted-by: LLM
> Signed-off-by: Hui Peng <benquike@xxxxxxxxx>
> ---
> Changes in v2:
> - Iterate &msk->keys via sklist instead of walking &mns->keys and checking
> tmp->sk != &msk->sk, as suggested by Jeremy Kerr.
>
> net/mctp/route.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>


You sent multiple independent patches, to multiple independent
subsystems. The amount of these patches clearly suggest this was
AI generated and most likely not tested.

More importantly, you sent all this work without properly organizing
relevant patches into patchsets. This makes reviewing difficult
and might cause multiple reviewers to address the same issue.
Replying to the entire set is impossible and requires handling each
patch independently, instead of applying or discarding the set.
Maintainers also won't see the bigger picture of your work. Quite
worrying.

This is on the verge of hostile patch: bomb us with so many
contributions, we won't be able to handle them in efficient manner,
like responding ONCE to ask you to slow down. Considering all this
is untested and LLM generated, I have even more doubts whether this
should be considered for review.

Please read kernel documentation BEFORE posting more work. It will
explain you how to identify subsystems, how to organize your work per
subsystem, how to document usage of LLM and how what you should not
do if this was posted in a good faith.

Best regards,
Krzysztof