HATAYAMA Daisuke f2bdacdd59 vmcore: allocate buffer for ELF headers on page-size alignment
Allocate ELF headers on page-size boundary using __get_free_pages()
instead of kmalloc().

Later patch will merge PT_NOTE entries into a single unique one and
decrease the buffer size actually used.  Keep original buffer size in
variable elfcorebuf_sz_orig to kfree the buffer later and actually used
buffer size with rounded up to page-size boundary in variable
elfcorebuf_sz separately.

The size of part of the ELF buffer exported from /proc/vmcore is
elfcorebuf_sz.

The merged, removed PT_NOTE entries, i.e.  the range [elfcorebuf_sz,
elfcorebuf_sz_orig], is filled with 0.

Use size of the ELF headers as an initial offset value in
set_vmcore_list_offsets_elf{64,32} and
process_ptload_program_headers_elf{64,32} in order to indicate that the
offset includes the holes towards the page boundary.

As a result, both set_vmcore_list_offsets_elf{64,32} have the same
definition.  Merge them as set_vmcore_list_offsets.

[akpm@linux-foundation.org: add free_elfcorebuf(), cleanups]
Signed-off-by: HATAYAMA Daisuke <d.hatayama@jp.fujitsu.com>
Acked-by: Vivek Goyal <vgoyal@redhat.com>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Atsushi Kumagai <kumagai-atsushi@mxc.nes.nec.co.jp>
Cc: Lisa Mitchell <lisa.mitchell@hp.com>
Cc: Zhang Yanfei <zhangyanfei@cn.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-07-03 16:07:30 -07:00
..
2013-06-29 12:56:55 +04:00
2013-06-29 12:56:33 +04:00
2013-06-29 12:56:46 +04:00
2013-06-26 11:38:02 -05:00
2013-06-29 12:56:31 +04:00
2013-06-29 12:57:05 +04:00
2013-06-29 12:56:53 +04:00
2013-06-29 12:56:59 +04:00
2013-06-29 12:56:32 +04:00
2013-06-29 12:56:47 +04:00
2013-06-29 12:56:36 +04:00
2013-06-29 12:56:37 +04:00
2013-06-29 12:56:32 +04:00
2013-05-09 16:42:10 -07:00
2013-06-29 12:56:38 +04:00
2013-06-29 12:56:39 +04:00
2013-06-29 12:56:29 +04:00
2013-06-29 12:56:28 +04:00
2013-07-02 11:44:19 -07:00
2013-06-29 12:57:12 +04:00
2013-06-29 12:57:34 +04:00
2013-06-29 12:57:04 +04:00
2013-04-29 15:40:23 -04:00
2013-06-29 12:57:05 +04:00
2013-06-29 12:57:34 +04:00
2013-04-17 13:25:09 +01:00
2013-05-07 20:16:25 -07:00
2013-05-31 15:16:33 -04:00
2013-06-29 12:57:05 +04:00
2013-04-09 14:13:29 -04:00