Re: [Xen-devel] incorrect layout of globals from head_64.Sduring kexec boot

From: Jan Beulich
Date: Fri Jul 06 2012 - 09:52:44 EST


>>> On 06.07.12 at 15:31, Olaf Hering <olaf@xxxxxxxxx> wrote:
> On Fri, Jul 06, Jan Beulich wrote:
>
>> >>> On 06.07.12 at 14:07, Olaf Hering <olaf@xxxxxxxxx> wrote:
>> > But adding some debug to inspect
>> > *output in parse_elf() shows that the second entry in program headers is
>> > already shifted by 44 bytes in my testing, the others are shifted by the
>> > same amount.
>>
>> Unfortunately it's not clear what is shifted - the printout below
>> looks just fine. Also, from your first mail I understood that the shift
>> there was by an amount not divisible by 4 - does that amount vary?
>
> The memory location of the second LOAD entry (the .data section) is wrong.
> It should be at 0x1c00000, but in fact its content starts at 0x1c0002c.
> I looked at the x86 boot code, the vmlinux is gzipped and placed as
> binary blob, which is then extracted by decompress().

Are the virtual addresses then offset as well?

Is phdr->p_offset sane?

And you didn't clarify whether the offset was always the same.

Jan

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/