Subject: Re: mmotm 2014-07-02-15-07 uploaded (stack protector)

From: Kees Cook <[email-masked]>
Date: Wed, 2 Jul 2014 17:57:19 -0700

Hi Randy,

And to explain more specifically what's happening:

On Wed, Jul 02, 2014 at 04:21:06PM -0700, Randy Dunlap wrote:
> config-r8736:CONFIG_CC_STACKPROTECTOR_STRONG=y
> [...]
> build-r8736.out:/local/lnx/MM/mmotm-2014-0702-1507/Makefile:662: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong not supported by compiler
> build-r8736.out:/local/lnx/MM/mmotm-2014-0702-1507/Makefile:662: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong not supported by compiler
> gcc: error: unrecognized command line option '-fstack-protector-strong'

That makes sense: a feature that requires a specific compiler version was
chosen, so you get a warning and a failed build. (The first warning was
during the .config parsing pass, the second warning was during the binary
build pass.)

> config-r8737:# CONFIG_CC_STACKPROTECTOR_STRONG is not set
> [...]
> build-r8737.out:/local/lnx/MM/mmotm-2014-0702-1507/Makefile:662: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong not supported by compiler

This is the same issue: the prior .config was still there with STRONG set,
but after finishing the new .config parsing pass, everything is happy for
the binary build pass. And, I assume, the r8737 didn't fail to build.

The trouble seems to be how kbuild handle .config changes, but I was never
able to sort it out.

-Kees

-- 
Kees Cook                                            @outflux.net