commit: 646f5f5f3b31729f900a5cd9da56e19951d42c75 Author: Mike Pagano <mpagano <AT> gentoo <DOT> org> AuthorDate: Fri Dec 1 10:56:31 2023 +0000 Commit: Mike Pagano <mpagano <AT> gentoo <DOT> org> CommitDate: Fri Dec 1 10:56:31 2023 +0000 URL: https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=646f5f5f
Fix up neighbour patch Signed-off-by: Mike Pagano <mpagano <AT> gentoo.org> ...ix_randomize_layout_crash_in_struct_neigh.patch | 41 +++------------------- 1 file changed, 4 insertions(+), 37 deletions(-) diff --git a/2010_Fix_randomize_layout_crash_in_struct_neigh.patch b/2010_Fix_randomize_layout_crash_in_struct_neigh.patch index 8ee50b2f..23c790ea 100644 --- a/2010_Fix_randomize_layout_crash_in_struct_neigh.patch +++ b/2010_Fix_randomize_layout_crash_in_struct_neigh.patch @@ -1,44 +1,11 @@ -From 45b3fae4675dc1d4ee2d7aefa19d85ee4f891377 Mon Sep 17 00:00:00 2001 -From: "Gustavo A. R. Silva" <gustavo...@kernel.org> -Date: Sat, 25 Nov 2023 15:33:58 -0600 -Subject: neighbour: Fix __randomize_layout crash in struct neighbour - -Previously, one-element and zero-length arrays were treated as true -flexible arrays, even though they are actually "fake" flex arrays. -The __randomize_layout would leave them untouched at the end of the -struct, similarly to proper C99 flex-array members. - -However, this approach changed with commit 1ee60356c2dc ("gcc-plugins: -randstruct: Only warn about true flexible arrays"). Now, only C99 -flexible-array members will remain untouched at the end of the struct, -while one-element and zero-length arrays will be subject to randomization. - -Fix a `__randomize_layout` crash in `struct neighbour` by transforming -zero-length array `primary_key` into a proper C99 flexible-array member. - -Fixes: 1ee60356c2dc ("gcc-plugins: randstruct: Only warn about true flexible arrays") -Closes: https://lore.kernel.org/linux-hardening/20231124102458.gb1503...@e124191.cambridge.arm.com/ -Signed-off-by: Gustavo A. R. Silva <gustavo...@kernel.org> -Reviewed-by: Kees Cook <keesc...@chromium.org> -Tested-by: Joey Gouly <joey.go...@arm.com> -Link: https://lore.kernel.org/r/ZWJoRsJGnCPdJ3+2@work -Signed-off-by: Paolo Abeni <pab...@redhat.com> ---- - include/net/neighbour.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/net/neighbour.h b/include/net/neighbour.h -index 07022bb0d44d4b..0d28172193fa63 100644 ---- a/include/net/neighbour.h -+++ b/include/net/neighbour.h -@@ -162,7 +162,7 @@ struct neighbour { +--- a/include/net/neighbour.h 2023-12-01 05:54:45.041790265 -0500 ++++ b/include/net/neighbour.h 2023-12-01 05:55:23.751858231 -0500 +@@ -157,7 +157,7 @@ struct neighbour { + struct list_head gc_list; struct rcu_head rcu; struct net_device *dev; - netdevice_tracker dev_tracker; - u8 primary_key[0]; + u8 primary_key[]; } __randomize_layout; struct neigh_ops { --- -cgit