[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4B94F594.7050205@in.ibm.com>
Date: Mon, 08 Mar 2010 18:33:16 +0530
From: Sachin Sant <sachinp@...ibm.com>
To: ananth@...ibm.com
CC: Heiko Carstens <heiko.carstens@...ibm.com>,
Linux/PPC Development <linuxppc-dev@...abs.org>,
mhiramat@...hat.com, linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: [PowerPC] 2.6.33-git11 : Badness at kernel/kprobes.c:264
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@...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
---------------------------------
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists