• Chen Gang's avatar
    kernel: kallsyms: memory override issue, need check destination buffer length · e3f26752
    Chen Gang authored
      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.
        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: 's avatarChen Gang <gang.chen@asianux.com>
    Signed-off-by: 's avatarRusty Russell <rusty@rustcorp.com.au>
kallsyms.c 15 KB