Skip to content

Commit c834f0e

Browse files
keesmasahir0y
authored andcommitted
Kbuild: make designated_init attribute fatal
If a structure is marked with __attribute__((designated_init)) from GCC or Sparse, it needs to have all static initializers using designated initialization. Fail the build for any missing cases. This attribute will be used by the randstruct plugin to make sure randomized structures are being correctly initialized. Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
1 parent f78271d commit c834f0e

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -795,6 +795,9 @@ KBUILD_CFLAGS += $(call cc-option,-Werror=date-time)
795795
# enforce correct pointer usage
796796
KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types)
797797

798+
# Require designated initializers for all marked structures
799+
KBUILD_CFLAGS += $(call cc-option,-Werror=designated-init)
800+
798801
# use the deterministic mode of AR if available
799802
KBUILD_ARFLAGS := $(call ar-option,D)
800803

0 commit comments

Comments
 (0)