Re: [PATCH] Kbuild: support designated_init attribute
From: Masahiro Yamada
Date: Tue Mar 14 2017 - 01:23:41 EST
2017-02-02 8:04 GMT+09:00 Kees Cook <keescook@xxxxxxxxxxxx>:
> 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@xxxxxxxxxxxx>
> Makefile | 3 +++
> 1 file changed, 3 insertions(+)
> diff --git a/Makefile b/Makefile
> index 96b27a888285..d4e0550e7abd 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -793,6 +793,9 @@ KBUILD_CFLAGS += $(call cc-option,-Werror=date-time)
> # enforce correct pointer usage
> KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types)
> +# Require designated initializers for all marked structures
> +KBUILD_CFLAGS += $(call cc-option,-Werror=designated-init)
> # use the deterministic mode of AR if available
> KBUILD_ARFLAGS := $(call ar-option,D)
The code looks OK to me.
As far as I understood, this patch changes
designated-init warnings into errors. Correct?
If so, I think the commit subject "Kbuild: support designated_init attribute"
does not directly describe what this patch does.