diff options
author | Chen Gang <gang.chen@asianux.com> | 2013-04-15 15:04:43 +0930 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2013-04-15 15:17:26 +0930 |
commit | e3f26752f0f8a6aade580115e1e68bcb1a4bc040 (patch) | |
tree | 04e818066d7d0faa64abfe55b4841da984f3812f /kernel/module.c | |
parent | 07c449bbc6aa514098c4f12c7b04180cec2417c6 (diff) |
kernel: kallsyms: memory override issue, need check destination buffer length
We don't export any symbols > 128 characters, but if we did then
kallsyms_expand_symbol() would overflow the buffer handed to it.
So we need check destination buffer length when copying.
the related test:
if we define an EXPORT function which name more than 128.
will panic when call kallsyms_lookup_name by init_kprobes on booting.
after check the length (provide this patch), it is ok.
Implementaion:
add additional destination buffer length parameter (maxlen)
if uncompressed string is too long (>= maxlen), it will be truncated.
not check the parameters whether valid, since it is a static function.
Signed-off-by: Chen Gang <gang.chen@asianux.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'kernel/module.c')
0 files changed, 0 insertions, 0 deletions