X-Git-Url: http://git.cascardo.info/?a=blobdiff_plain;f=kernel%2Fkprobes.c;h=0ed46f3e51e9812e036ed618a1bc5c12e9328de9;hb=e2a0eab0a121a95be60a81911df07cc21e4ee429;hp=fa034d29cf73d5730f531b7bfd98682278d077b4;hpb=e213e26ab3988c516c06eba4dcd030ac052f6dc9;p=cascardo%2Flinux.git diff --git a/kernel/kprobes.c b/kernel/kprobes.c index fa034d29cf73..0ed46f3e51e9 100644 --- a/kernel/kprobes.c +++ b/kernel/kprobes.c @@ -259,7 +259,8 @@ static void __kprobes __free_insn_slot(struct kprobe_insn_cache *c, struct kprobe_insn_page *kip; list_for_each_entry(kip, &c->pages, list) { - long idx = ((long)slot - (long)kip->insns) / c->insn_size; + long idx = ((long)slot - (long)kip->insns) / + (c->insn_size * sizeof(kprobe_opcode_t)); if (idx >= 0 && idx < slots_per_page(c)) { WARN_ON(kip->slot_used[idx] != SLOT_USED); if (dirty) {