X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=kernel%2Fkprobes.c;h=0ed46f3e51e9812e036ed618a1bc5c12e9328de9;hb=a674fa46c79ffa37995bd1c8e4daa2b3be5a95ae;hp=fa034d29cf73d5730f531b7bfd98682278d077b4;hpb=01da47059ab54544a508b217598fb0e73b73e7a8;p=karo-tx-linux.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) {