aboutsummaryrefslogtreecommitdiff
path: root/fs/proc/kcore.c
diff options
context:
space:
mode:
authorVivek Goyal <vgoyal@in.ibm.com>2006-09-29 02:01:45 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2006-09-29 09:18:25 -0700
commit632dd2053a1146c826ceb6f26ab689389c05e751 (patch)
tree439c457364f5b58e2de09950e5e0854968e3cde2 /fs/proc/kcore.c
parent327dcaadc0bc08ad081aa8e36b6ec7ad7aa45e30 (diff)
[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: Vivek Goyal <vgoyal@in.ibm.com> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/proc/kcore.c')
-rw-r--r--fs/proc/kcore.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/proc/kcore.c b/fs/proc/kcore.c
index 3ceff385727..1294eda4aca 100644
--- a/fs/proc/kcore.c
+++ b/fs/proc/kcore.c
@@ -100,7 +100,7 @@ static int notesize(struct memelfnote *en)
int sz;
sz = sizeof(struct elf_note);
- sz += roundup(strlen(en->name), 4);
+ sz += roundup((strlen(en->name) + 1), 4);
sz += roundup(en->datasz, 4);
return sz;
@@ -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)
- en.n_namesz = strlen(men->name);
+ en.n_namesz = strlen(men->name) + 1;
en.n_descsz = men->datasz;
en.n_type = men->type;