(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