Re: [kernel-hardening] [PATCH v5 1/4] gcc-plugins: Add the initify gcc plugin

From: Kees Cook
Date: Mon Mar 27 2017 - 12:15:11 EST


On Mon, Mar 27, 2017 at 12:38 AM, Andrew Donnellan
<andrew.donnellan@xxxxxxxxxxx> wrote:
> On 01/02/17 07:24, Kees Cook wrote:
>>
>> From: Emese Revfy <re.emese@xxxxxxxxx>
>>
>> The kernel already has a mechanism to free up code and data memory that
>> is only used during kernel or module initialization. This plugin will
>> teach the compiler to find more such code and data that can be freed
>> after initialization.
>
>
> Currently checking whether we can wire this up for powerpc without too many
> problems...

Cool, thanks. FWIW, note that this plugin is a bit back-burnered at
the moment. I've got this in my -next tree still, but it needs some
rather large changes to how it does its annotations before Linus will
accept it.

>> diff --git a/arch/x86/lib/Makefile b/arch/x86/lib/Makefile
>> index 34a74131a12c..b98b8fdb7aaf 100644
>> --- a/arch/x86/lib/Makefile
>> +++ b/arch/x86/lib/Makefile
>> @@ -29,6 +29,10 @@ lib-$(CONFIG_RANDOMIZE_BASE) += kaslr.o
>> obj-y += msr.o msr-reg.o msr-reg-export.o hweight.o
>>
>> ifeq ($(CONFIG_X86_32),y)
>> + CFLAGS_strstr_32.o +=
>> $(INITIFY_DISABLE_VERIFIY_NOCAPTURE_FUNCTIONS)
>> + CFLAGS_string_32.o +=
>> $(INITIFY_DISABLE_VERIFIY_NOCAPTURE_FUNCTIONS)
>> + CFLAGS_memcpy_32.o +=
>> $(INITIFY_DISABLE_VERIFIY_NOCAPTURE_FUNCTIONS)
>
>
> s/VERIFIY/VERIFY/g here + Makefile.gcc-plugins?

Ah, thanks for catching that! I'll get that fixed.

-Kees

--
Kees Cook
Pixel Security