[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4CE27404.7020307@windriver.com>
Date: Tue, 16 Nov 2010 20:07:32 +0800
From: DDD <dongdong.deng@...driver.com>
To: Milton Miller <miltonm@....com>
CC: Hai Shan <shan.hai@...driver.com>, linux-kernel@...r.kernel.org,
linuxppc-dev@...ts.ozlabs.org,
Jason Wessel <jason.wessel@...driver.com>,
kgdb-bugreport@...ts.sourceforge.net
Subject: Re: Corrected data type mismatch
Milton Miller wrote:
> [added cc's based on from ff10b88b5a05c8f1646dd15fb9f6093c1384ff6d,
> which added the patched line ]
>
> https://patchwork.kernel.org/patch/323022/
>
> On Sun, 14 Nov 2010 around 02:06:59 -0000, Hai Shan wrote:
>> Corrected data type mismatch
>>
> This merely hides the type mismatch by force casting it.
>
> Looking at the context I believe the intent is to copy the the value to
> or from the register content slot, not take the previous value of the
> register and use that as an address to copy to or from.
OOPS! It is wrong here, The right one should be as following:
- memcpy(mem, current->thread.evr[regno-32],
+ memcpy(mem, (void*)¤t->thread.evr[regno-32],
dbg_reg_def[regno].size);
Thanks milton & Shan.Hai, I will send out the fix to Jason ASAP.
Dongdong
>
> milton
>> Signed-off-by: Hai Shan <shan.hai@...driver.com>
>>
>> ---
>> arch/powerpc/kernel/kgdb.c | 4 ++--
>> 1 files changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/powerpc/kernel/kgdb.c b/arch/powerpc/kernel/kgdb.c
>> index 7a9db64..c5ce65f 100644
>> --- a/arch/powerpc/kernel/kgdb.c
>> +++ b/arch/powerpc/kernel/kgdb.c
>> @@ -337,7 +337,7 @@ char *dbg_get_reg(int regno, void *mem, struct pt_regs *regs)
>> /* FP registers 32 -> 63 */
>> #if defined(CONFIG_FSL_BOOKE) && defined(CONFIG_SPE)
>> if (current)
>> - memcpy(mem, current->thread.evr[regno-32],
>> + memcpy(mem, (void *)current->thread.evr[regno-32],
>> dbg_reg_def[regno].size);
>> #else
>> /* fp registers not used by kernel, leave zero */
>> @@ -362,7 +362,7 @@ int dbg_set_reg(int regno, void *mem, struct pt_regs *regs)
>> if (regno >= 32 && regno < 64) {
>> /* FP registers 32 -> 63 */
>> #if defined(CONFIG_FSL_BOOKE) && defined(CONFIG_SPE)
>> - memcpy(current->thread.evr[regno-32], mem,
>> + memcpy((void *)current->thread.evr[regno-32], mem,
>> dbg_reg_def[regno].size);
>> #else
>> /* fp registers not used by kernel, leave zero */
>
--
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