lkml.org 
[lkml]   [2013]   [May]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v6 2/8] vmcore: allocate buffer for ELF headers on page-size alignment
(2013/05/17 1:51), Vivek Goyal wrote:
> On Wed, May 15, 2013 at 06:05:51PM +0900, HATAYAMA Daisuke wrote:
>
> [..]
>> @@ -398,9 +403,7 @@ static int __init process_ptload_program_headers_elf64(char *elfptr,
>> phdr_ptr = (Elf64_Phdr*)(elfptr + sizeof(Elf64_Ehdr)); /* PT_NOTE hdr */
>>
>> /* First program header is PT_NOTE header. */
>> - vmcore_off = sizeof(Elf64_Ehdr) +
>> - (ehdr_ptr->e_phnum) * sizeof(Elf64_Phdr) +
>> - phdr_ptr->p_memsz; /* Note sections */
>> + vmcore_off = elfsz + roundup(phdr_ptr->p_memsz, PAGE_SIZE);
>>
>> for (i = 0; i < ehdr_ptr->e_phnum; i++, phdr_ptr++) {
>> if (phdr_ptr->p_type != PT_LOAD)
>> @@ -435,9 +438,7 @@ static int __init process_ptload_program_headers_elf32(char *elfptr,
>> phdr_ptr = (Elf32_Phdr*)(elfptr + sizeof(Elf32_Ehdr)); /* PT_NOTE hdr */
>>
>> /* First program header is PT_NOTE header. */
>> - vmcore_off = sizeof(Elf32_Ehdr) +
>> - (ehdr_ptr->e_phnum) * sizeof(Elf32_Phdr) +
>> - phdr_ptr->p_memsz; /* Note sections */
>> + vmcore_off = elfsz + roundup(phdr_ptr->p_memsz, PAGE_SIZE);
>
> Hmm.., so we are rounding up ELF note data size too here. I think this belongs
> in some other patch as in this patch we are just rounding up the elf
> headers.
>
> This might create read problems too as we have not taking care of this
> rounding when adding note to vc_list and it might happen that we are
> reading wrong data at a particular offset.
>
> So may be this rounding up we should do in later patches when we take
> care of copying ELF notes data to second kernel.
>
> Vivek
>

This is my careless fault. They should have been in 6/7.

--
Thanks.
HATAYAMA, Daisuke



\
 
 \ /
  Last update: 2013-05-17 02:21    [W:0.175 / U:0.164 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site