git.openpandora.org
/
pandora-kernel.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
99cca91
)
module: Remove a extra null character at the top of module->strtab.
author
Satoru Takeuchi
<takeuchi_satoru@jp.fujitsu.com>
Wed, 5 Dec 2012 01:59:04 +0000
(12:29 +1030)
committer
Rusty Russell
<rusty@rustcorp.com.au>
Fri, 14 Dec 2012 02:36:43 +0000
(13:06 +1030)
There is a extra null character('\0') at the top of module->strtab for
each module. Commit 59ef28b introduced this bug and this patch fixes it.
Live dump log of the current linus git kernel(HEAD is
2844a4870
):
============================================================================
crash> mod | grep loop
ffffffffa01db0a0
loop 16689 (not loaded) [CONFIG_KALLSYMS]
crash> module.core_symtab
ffffffffa01db0a0
core_symtab = 0xffffffffa01db320crash> rd 0xffffffffa01db320 12
ffffffffa01db320
:
0000005500000001
0000000000000000
....U...........
ffffffffa01db330
:
0000000000000000
0002007400000002
............t...
ffffffffa01db340
:
ffffffffa01d8000
0000000000000038
........8.......
ffffffffa01db350
:
001a00640000000e
ffffffffa01daeb0
....d...........
ffffffffa01db360
:
00000000000000a0
0002007400000019
............t...
ffffffffa01db370
:
ffffffffa01d8068
000000000000001b
h...............
crash> module.core_strtab
ffffffffa01db0a0
core_strtab = 0xffffffffa01dbb30 ""
crash> rd 0xffffffffa01dbb30 4
ffffffffa01dbb30
:
615f70616d6b0000
66780063696d6f74
..kmap_atomic.xf
ffffffffa01dbb40
:
73636e75665f7265
72665f646e696600
er_funcs.find_fr
============================================================================
We expect Just first one byte of '\0', but actually first two bytes
are '\0'. Here is The relationship between symtab and strtab.
symtab_idx strtab_idx symbol
-----------------------------------------------
0 0x1 "\0" # startab_idx should be 0
1 0x2 "kmap_atomic"
2 0xe "xfer_funcs"
3 0x19 "find_fr..."
By applying this patch, it becomes as follows.
symtab_idx strtab_idx symbol
-----------------------------------------------
0 0x0 "\0" # extra byte is removed
1 0x1 "kmap_atomic"
2 0xd "xfer_funcs"
3 0x18 "find_fr..."
Signed-off-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com>
Cc: Masaki Kimura <masaki.kimura.kz@hitachi.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
No differences found