]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
xfrm: fix the condition on x->pcpu_num in xfrm_sa_len
authorSabrina Dubroca <sd@queasysnail.net>
Mon, 23 Feb 2026 23:05:12 +0000 (00:05 +0100)
committerSteffen Klassert <steffen.klassert@secunet.com>
Wed, 25 Feb 2026 08:11:26 +0000 (09:11 +0100)
pcpu_num = 0 is a valid value. The marker for "unset pcpu_num" which
makes copy_to_user_state_extra not add the XFRMA_SA_PCPU attribute is
UINT_MAX.

Fixes: 1ddf9916ac09 ("xfrm: Add support for per cpu xfrm state handling.")
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
net/xfrm/xfrm_user.c

index 3e6477c6082e731ed4dc9c0c5435700bd1301007..4dd8341225bce349ab43d4822902b9e1ecc07df7 100644 (file)
@@ -3676,7 +3676,7 @@ static inline unsigned int xfrm_sa_len(struct xfrm_state *x)
        }
        if (x->if_id)
                l += nla_total_size(sizeof(x->if_id));
-       if (x->pcpu_num)
+       if (x->pcpu_num != UINT_MAX)
                l += nla_total_size(sizeof(x->pcpu_num));
 
        /* Must count x->lastused as it may become non-zero behind our back. */