[IA64] adding parameter check to module_free()
authorAkiyama, Nobuyuki <akiyama.nobuyuk@jp.fujitsu.com>
Thu, 17 Jul 2008 18:22:01 +0000 (11:22 -0700)
committerTony Luck <tony.luck@intel.com>
Thu, 17 Jul 2008 18:22:01 +0000 (11:22 -0700)
commit740a8de0796dd12890b3c8ddcfabfcb528b78d40
treeb9ae53a096b7ea3216c04009c9c085015115b96b
parent60192db82952ad56ef7bbc4a318e2041ca65ba7d
[IA64] adding parameter check to module_free()

    module_free() refers the first parameter before checking.
    But it is called like below(in kernel/kprobes). The first parameter is always NULL.
This happens when many probe points(>1024) are set by kprobes.
I encountered this with using SystemTap. It can set many probes easily.

static int __kprobes collect_one_slot(struct kprobe_insn_page *kip, int idx)
{
...
    if (kip->nused == 0) {
    hlist_del(&kip->hlist);
    if (hlist_empty(&kprobe_insn_pages)) {
...
    } else {
    module_free(NULL, kip->insns); //<<< 1st param always NULL
    kfree(kip);
    }
    return 1;
    }
    return 0;
}

Signed-off-by: Akiyama, Nobuyuki <akiyama.nobuyuk@jp.fujitsu.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
arch/ia64/kernel/module.c