From: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Subject: Re: [PATCH v2 07/20] vmcore: copy non page-size aligned head and tail pages in 2nd kernel Date: Sun, 10 Mar 2013 14:16:51 +0800 > ? 2013?03?02? 16:36, HATAYAMA Daisuke ??: <cut> >> /* Update the program header offset. */ >> phdr_ptr->p_offset = vmcore_off; >> - vmcore_off = vmcore_off + phdr_ptr->p_memsz; >> + vmcore_off +=roundup(end,PAGE_SIZE)-rounddown(start,PAGE_SIZE); > > Here the code changes phdr_ptr->p_offset to a new page-size aligned offset. > But it seems the phdr_ptr->p_paddr is still the non page-size aligned > physical address? Does the mismatch of a PT_LOAD segment and the physical > memory occur? > > Or, later in makedumpfile, it will check the phdr_ptr->paddr to see if it > is page-size aligned and also phdr_ptr->p_memsz to get the real memory size, > not including padding? > No, it doesn't happen. p_offset is made page-size aligned for requirement to user-space linear-address vs file offset. The requirement for physical address is handled internally in vmcore_list, which is transparent to to user-space. Thanks. HATAYAMA, Daisuke