Commit 632dd205 authored by Vivek Goyal's avatar Vivek Goyal Committed by Linus Torvalds

[PATCH] Kcore elf note namesz field fix

o As per ELF specifications, it looks like that elf note "namesz" field
  contains the length of "name" including the size of null character.  And
  currently we are filling "namesz" without taking into the consideration
  the null character size.

o Kexec-tools performs this check deligently hence I ran into the issue
  while trying to open /proc/kcore in kexec-tools for some info.
Signed-off-by: default avatarVivek Goyal <vgoyal@in.ibm.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 327dcaad
...@@ -100,7 +100,7 @@ static int notesize(struct memelfnote *en) ...@@ -100,7 +100,7 @@ static int notesize(struct memelfnote *en)
int sz; int sz;
sz = sizeof(struct elf_note); sz = sizeof(struct elf_note);
sz += roundup(strlen(en->name), 4); sz += roundup((strlen(en->name) + 1), 4);
sz += roundup(en->datasz, 4); sz += roundup(en->datasz, 4);
return sz; return sz;
...@@ -116,7 +116,7 @@ static char *storenote(struct memelfnote *men, char *bufp) ...@@ -116,7 +116,7 @@ static char *storenote(struct memelfnote *men, char *bufp)
#define DUMP_WRITE(addr,nr) do { memcpy(bufp,addr,nr); bufp += nr; } while(0) #define DUMP_WRITE(addr,nr) do { memcpy(bufp,addr,nr); bufp += nr; } while(0)
en.n_namesz = strlen(men->name); en.n_namesz = strlen(men->name) + 1;
en.n_descsz = men->datasz; en.n_descsz = men->datasz;
en.n_type = men->type; en.n_type = men->type;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment