Messages in this thread | | | Date | Fri, 6 Mar 2015 16:52:29 -0800 | Subject | Re: [PATCH v2 01/15] x86, kaslr: Use init_size instead of run_size | From | Yinghai Lu <> |
| |
On Fri, Mar 6, 2015 at 11:56 AM, Kees Cook <keescook@chromium.org> wrote: > On Fri, Mar 6, 2015 at 11:28 AM, Yinghai Lu <yinghai@kernel.org> wrote: > Okay, I've proven this to myself now. :) I think it would be valuable > to call out that brk and bss are included in the _end calculation. For > others: ... > So, _end - _text does equal _text + bss offset + bss size + brk size > > Thanks! It'll be nice to lose the run_size hack. Adding some > documentation to the code here would help others in the future trying > to find this value, I think. :)
in arch/x86/kernel/vmlinux.lds.S, we have
/* BSS */ . = ALIGN(PAGE_SIZE); .bss : AT(ADDR(.bss) - LOAD_OFFSET) { __bss_start = .; *(.bss..page_aligned) *(.bss) . = ALIGN(PAGE_SIZE); __bss_stop = .; }
. = ALIGN(PAGE_SIZE); .brk : AT(ADDR(.brk) - LOAD_OFFSET) { __brk_base = .; . += 64 * 1024; /* 64k alignment slop space */ *(.brk_reservation) /* areas brk users have reserved */ __brk_limit = .; }
_end = .;
so _end already cover bss and brk.
| |