Re: [PATCH 2/6] efi: Avoid fortify checks in EFI stub

From: Kees Cook
Date: Tue Jun 06 2017 - 23:12:33 EST


On Tue, Jun 6, 2017 at 10:17 AM, Mark Rutland <mark.rutland@xxxxxxx> wrote:
> On Tue, Jun 06, 2017 at 05:13:07PM +0000, Ard Biesheuvel wrote:
>> (+ Mark, Matt)
>>
>> On 6 June 2017 at 04:52, Kees Cook <keescook@xxxxxxxxxxxx> wrote:
>> > This avoids CONFIG_FORTIFY_SOURCE from being enabled during the EFI stub
>> > build, as adding a panic() implementation may not work well. This can be
>> > adjusted in the future.
>> >
>> > Suggested-by: Daniel Micay <danielmicay@xxxxxxxxx>
>> > Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx>
>> > Cc; Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx>
>> > Cc: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
>
> I believe for arm64 the immediate breakage is implicitly fixed by the
> <asm/string.h> definition, but I agree it makes sense to be explicit
> anyhow.
>
> FWIW:
>
> Acked-by: Mark Rutland <mark.rutland@xxxxxxx>
>
> Kees, as an aside, do you want me to patchify the vdso fixup? Or are
> you going to handle that?

I sent that separately but discovered that my invocation of git
send-email failed to include a CC to you, even though I had it listed
as Suggested-by, etc. I think it's going to get queued for the arm64
tree.

>
> Thanks,
> Mark.
>
>> > ---
>> > drivers/firmware/efi/libstub/Makefile | 1 +
>> > 1 file changed, 1 insertion(+)
>> >
>> > diff --git a/drivers/firmware/efi/libstub/Makefile b/drivers/firmware/efi/libstub/Makefile
>> > index f7425960f6a5..37e24f525162 100644
>> > --- a/drivers/firmware/efi/libstub/Makefile
>> > +++ b/drivers/firmware/efi/libstub/Makefile
>> > @@ -17,6 +17,7 @@ cflags-$(CONFIG_ARM) := $(subst -pg,,$(KBUILD_CFLAGS)) \
>> > cflags-$(CONFIG_EFI_ARMSTUB) += -I$(srctree)/scripts/dtc/libfdt
>> >
>> > KBUILD_CFLAGS := $(cflags-y) -DDISABLE_BRANCH_PROFILING \
>> > + -D__NO_FORTIFY \
>> > $(call cc-option,-ffreestanding) \
>> > $(call cc-option,-fno-stack-protector)
>> >
>>
>> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx>
>>
>> This is unlikely to conflict with anything going through the EFI tree,
>> so feel free to queue it elsewhere.

If it can go through the EFI tree, that'd be great. Less for akpm to wrangle. :)

Thanks!

-Kees

--
Kees Cook
Pixel Security