inet: shrink struct flowi_common
authorEric Dumazet <edumazet@google.com>
Wed, 25 Oct 2023 14:10:37 +0000 (14:10 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 Nov 2023 10:59:34 +0000 (11:59 +0100)
[ Upstream commit 1726483b79a72e0150734d5367e4a0238bf8fcff ]

I am looking at syzbot reports triggering kernel stack overflows
involving a cascade of ipvlan devices.

We can save 8 bytes in struct flowi_common.

This patch alone will not fix the issue, but is a start.

Fixes: 24ba14406c5c ("route: Add multipath_hash in flowi_common to make user-define hash")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: wenxu <wenxu@ucloud.cn>
Reviewed-by: David Ahern <dsahern@kernel.org>
Link: https://lore.kernel.org/r/20231025141037.3448203-1-edumazet@google.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
include/net/flow.h

index 7f0adda..335bbc5 100644 (file)
@@ -40,8 +40,8 @@ struct flowi_common {
 #define FLOWI_FLAG_KNOWN_NH            0x02
        __u32   flowic_secid;
        kuid_t  flowic_uid;
-       struct flowi_tunnel flowic_tun_key;
        __u32           flowic_multipath_hash;
+       struct flowi_tunnel flowic_tun_key;
 };
 
 union flowi_uli {