Re: [GIT PULL] x86/alternatives padding

From: Borislav Petkov
Date: Wed Mar 04 2015 - 16:04:03 EST


On Wed, Mar 04, 2015 at 09:22:27PM +0100, Ingo Molnar wrote:
> So you could have a look at the detailed section dump itself via:
>
> objdump -h vmlinux
>
> there .text will be the raw text and .alt* will be listed separately.
> The 'size' tool will add up executable sections IIRC, mixing these
> sections.

Right.

> .alt* is freed after init, so it's not really a kernel image size
> increase, right?

Exactly:

void free_initmem(void)
{
free_init_pages("unused kernel",
(unsigned long)(&__init_begin),
(unsigned long)(&__init_end));
}

which are:

69708: ffffffff81ee9000 0 NOTYPE GLOBAL DEFAULT 16 __init_begin
72679: ffffffff81ff9000 0 NOTYPE GLOBAL DEFAULT 25 __init_end

and there's a bunch of stuff between ffffffff81ee9000 and ffffffff81ff9000:

[Nr] Name Type Address Offset
Size EntSize Flags Link Info Align
[17] .init.text PROGBITS ffffffff81efe000 012fe000
0000000000066c98 0000000000000000 AX 0 0 16
[18] .init.data PROGBITS ffffffff81f65000 01365000
0000000000086d18 0000000000000000 WA 0 0 4096
[19] .x86_cpu_dev.init PROGBITS ffffffff81febd18 013ebd18
0000000000000018 0000000000000000 A 0 0 8
[20] .altinstructions PROGBITS ffffffff81febd30 013ebd30
0000000000007e4b 0000000000000000 A 0 0 1
[21] .altinstr_replace PROGBITS ffffffff81ff3b7b 013f3b7b
0000000000002044 0000000000000000 AX 0 0 1
[22] .iommu_table PROGBITS ffffffff81ff5bc0 013f5bc0
00000000000000c8 0000000000000000 A 0 0 8
[23] .apicdrivers PROGBITS ffffffff81ff5c88 013f5c88
0000000000000010 0000000000000000 WA 0 0 8
[24] .exit.text PROGBITS ffffffff81ff5c98 013f5c98
0000000000002412 0000000000000000 AX 0 0 1

--
Regards/Gruss,
Boris.

ECO tip #101: Trim your mails when you reply.
--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/