From: Vivek Goyal <vgoyal@xxxxxxxxxx> Subject: Re: [PATCH v3 17/21] vmcore: check NT_VMCORE_PAD as a mark indicating the end of ELF note buffer Date: Thu, 21 Mar 2013 10:36:56 -0400 > On Wed, Mar 20, 2013 at 08:54:25PM -0700, Eric W. Biederman wrote: > > [..] >> > Also, it's possible to get size of a whole part of ELF note segments >> > from p_memsz or p_filesz, and gdb and binutils are reading the note >> > segments until reaching the size. >> >> Agreed. Except in our weird case where we generate the notes on the >> fly, and generate the NOTE segment header much earlier. > > And in our case we don't know the size of ELF note. Kernel is not > exporting the size. So kexec-tools is putting an upper limit of 1024 > and putting that value in p_memsz and p_filesz fields. > > Given the fact that we are reserving elf notes at boot. That means > we know the size of ELF notes. It should make sense to export it > to user space and let kexec-tools put right values. > > In fact looks like /sys/kernel/vmcoreinfo is exporting two values. Address > and size. (This is kind of violation of sysfs poilcy of one value per > file). But for per cpu notes, we are exporting only address and not > size. IIRC, Greg Norman pointed out this violation of vmcoreinfo file when he found some monthes ago. > > /sys/devices/system/cpu/cpu<n>/crash_notes > > May be we should export another file > > /sys/devices/system/cpu/cpu<n>/crash_notes_size > > and let kexec-tools parse it. Anyway, I think of this issue as beyond the scope of what I'm working here... Thanks. HATAYAMA, Daisuke