• Akiyama, Nobuyuki's avatar
    [IA64] adding parameter check to module_free() · 740a8de0
    Akiyama, Nobuyuki authored
        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: default avatarAkiyama, Nobuyuki <akiyama.nobuyuk@jp.fujitsu.com>
    Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
    740a8de0
module.c 26 KB