[PowerPC] 2.6.33-git11 : Badness at kernel/kprobes.c:264
Sachin Sant
sachinp at in.ibm.com
Tue Mar 9 00:03:16 EST 2010
Ananth N Mavinakayanahalli wrote:
>>> 2.6.33-git10(64ba99267...) was OK.
>>>
>>> This WARN_ON was introduced by commit 4610ee1d36...
>>>
>>> kprobes: Introduce generic insn_slot framework
>>>
>> FWIW, same on s390...
>>
>
> This patch should fix it:
>
> When freeing the instruction slot, the arithmetic to calculate the index
> of the slot in the page needs to account for the total size of the
> instruction on the various architectures.
>
> Calculate the index correctly when freeing the out-of-line execution slot.
>
> Signed-off-by: Ananth N Mavinakayanahalli <ananth at in.ibm.com>
>
Thanks Ananth. Boots fine on my POWER6 box without any WAR_ON.
Regards
-Sachin
> ---
> Index: linux-8mar/kernel/kprobes.c
> ===================================================================
> --- linux-8mar.orig/kernel/kprobes.c 2010-03-08 17:10:33.000000000 +0530
> +++ linux-8mar/kernel/kprobes.c 2010-03-08 17:12:12.000000000 +0530
> @@ -259,7 +259,8 @@
> 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) {
>
>
>
>
--
---------------------------------
Sachin Sant
IBM Linux Technology Center
India Systems and Technology Labs
Bangalore, India
---------------------------------
More information about the Linuxppc-dev
mailing list