[OE-core] [PATCH 2/2] security_flags.inc: add var-FSTACK_PROTECTOR to improve variable OVERRIDES

Peter Kjellerstedt peter.kjellerstedt at axis.com
Wed Aug 29 09:18:01 UTC 2018


> -----Original Message-----
> From: openembedded-core-bounces at lists.openembedded.org <openembedded-
> core-bounces at lists.openembedded.org> On Behalf Of Hongxu Jia
> Sent: den 29 augusti 2018 11:05
> To: openembedded-core at lists.openembedded.org
> Subject: [OE-core] [PATCH 2/2] security_flags.inc: add var-
> FSTACK_PROTECTOR to improve variable OVERRIDES
> 
> There are var-SECURITY_PIE_CFLAGS, var-lcl_maybe_fortify and
> var-SECURITY_STRINGFORMAT which are helpful for OVERRIDES.
> 
> Also add var-FSTACK_PROTECTOR, and drop hardcoded `_remove'
> overrides. Such as `4ca946c security_flags: use -fstack-protector-strong',
> it s/-fstack-protector-all/-fstack-protector-strong/, only tweak
> var-FSTACK_PROTECTOR is sufficient.
> 
> The fix does not have any side affect on SECURITY_CFLAGS of glibc/
> glibc-initial/gcc-runtime, these three directly assigned with "".
> ...
> SECURITY_CFLAGS_pn-glibc = ""
> SECURITY_CFLAGS_pn-glibc-initial = ""
> SECURITY_CFLAGS_pn-gcc-runtime = ""
> ...
> 
> Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
> ---
>  meta/conf/distro/include/security_flags.inc | 16 +++++++++-------
>  1 file changed, 9 insertions(+), 7 deletions(-)
> 
> diff --git a/meta/conf/distro/include/security_flags.inc
> b/meta/conf/distro/include/security_flags.inc
> index e113f99..6602ec0 100644
> --- a/meta/conf/distro/include/security_flags.inc
> +++ b/meta/conf/distro/include/security_flags.inc
> @@ -21,11 +21,13 @@ SECURITY_PIE_CFLAGS ?= "${@'' if '${GCCPIE}' else '-pie -fPIE'}"
> 
>  SECURITY_NOPIE_CFLAGS ?= "-no-pie -fno-PIE"
> 
> -SECURITY_CFLAGS ?= "-fstack-protector-strong ${SECURITY_PIE_CFLAGS} ${lcl_maybe_fortify} ${SECURITY_STRINGFORMAT}"
> -SECURITY_NO_PIE_CFLAGS ?= "-fstack-protector-strong ${lcl_maybe_fortify} ${SECURITY_STRINGFORMAT}"
> +FSTACK_PROTECTOR ?= "-fstack-protector-strong"

May I suggest to call it SECURITY_STACK_PROTECTOR instead? That aligns 
it better with the other variables.

> -SECURITY_LDFLAGS ?= "-fstack-protector-strong -Wl,-z,relro,-z,now"
> -SECURITY_X_LDFLAGS ?= "-fstack-protector-strong -Wl,-z,relro"
> +SECURITY_CFLAGS ?= "${FSTACK_PROTECTOR} ${SECURITY_PIE_CFLAGS} ${lcl_maybe_fortify} ${SECURITY_STRINGFORMAT}"
> +SECURITY_NO_PIE_CFLAGS ?= "${FSTACK_PROTECTOR} ${lcl_maybe_fortify} ${SECURITY_STRINGFORMAT}"
> +
> +SECURITY_LDFLAGS ?= "${FSTACK_PROTECTOR} -Wl,-z,relro,-z,now"
> +SECURITY_X_LDFLAGS ?= "${FSTACK_PROTECTOR} -Wl,-z,relro"
> 
>  # powerpc does not get on with pie for reasons not looked into as yet
>  GCCPIE_powerpc = ""
> @@ -56,9 +58,9 @@ SECURITY_STRINGFORMAT_pn-gcc = ""
>  TARGET_CC_ARCH_append_class-target = " ${SECURITY_CFLAGS}"
>  TARGET_LDFLAGS_append_class-target = " ${SECURITY_LDFLAGS}"
> 
> -SECURITY_LDFLAGS_remove_pn-gcc-runtime = "-fstack-protector-strong"
> -SECURITY_LDFLAGS_remove_pn-glibc = "-fstack-protector-strong"
> -SECURITY_LDFLAGS_remove_pn-glibc-initial = "-fstack-protector-strong"
> +FSTACK_PROTECTOR_pn-gcc-runtime = ""
> +FSTACK_PROTECTOR_pn-glibc = ""
> +FSTACK_PROTECTOR_pn-glibc-initial = ""
>  # All xorg module drivers need to be linked this way as well and are
>  # handled in recipes-graphics/xorg-driver/xorg-driver-common.inc
>  SECURITY_LDFLAGS_pn-xserver-xorg = "${SECURITY_X_LDFLAGS}"
> --
> 2.7.4

//Peter




More information about the Openembedded-core mailing list