Re: [PATCH 02/02] Elf: Align elf notes properly

From: Magnus Damm
Date: Sun Nov 12 2006 - 21:16:50 EST


On 11/11/06, Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote:
David Miller wrote:
> We should be OK with the elf note header since n_namesz, n_descsz, and
> n_type are 32-bit types even on Elf64. But for the contents embedded
> in the note, I am not convinced that there are no potential issues

PT_NOTE segments are not generally mmaped directly, nor are they
generally very large. There should be no problem for a note-using
program to load/copy the notes into memory with appropriate alignment.
I guess a lot of the contents of core elf notes are register dumps and
so on, so debuggers must be already dealing with this.

Someone apparently thought that 32-bit alignment was a good thing and
put it in the spec for the 32-bit format. You argue that most programs
copy instead of mmap() which sounds correct, but if someone wants to
mmap() then our current 32-bit aligned 64-bit elf note implementation
is broken. Which may or may not be ok.

So why was 32-bit alignment put in the 32-bit spec? I suspect the
reason was to support direct access of note contents. Either using
mmap() or read() and direct access. Remeber that the notes could
contain anything which may require properly aligned data for direct
access. I think this was the reason the word size alignment was put in
the spec for in the first place.

Thanks,

/ magnus
-
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/