|
|
|
Re: [PATCH 3/4] sparc32: return destination pointer on return from memcpy | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] |
|
David Miller wrote:
> From: Konrad Eisele <konrad@xxxxxxxxxxx>
> Date: Thu, 13 Oct 2011 09:00:04 +0200
>
>> -/* In kernel these functions don't return a value.
>> - * One should use macros in asm/string.h for that purpose.
>> - * We return 0, so that bugs are more apparent.
>> - */
>> -#define SETUP_RETL
>> -#define RETL_INSN clr %o0
>> +#define SETUP_RETL mov %o0, %g6
>> +#define RETL_INSN mov %g6, %o0
>
> Sigh...
>
> The kernel uses %g6 as the global thread register, see
> include/asm/thread_info_32.h:
>
> register struct thread_info *current_thread_info_reg asm("g6");
>
> Your kernel would have crashed early in the boot if you actually
> tested this patch.
>
>
Isnt the simplest way to apply the original gdbstub.c patch instead?
- ptr += strlen(strcpy(ptr, "thread:"));
+ strcpy(ptr, "thread:");
+ ptr += strlen(ptr);
Or even a simple
strcpy(ptr, "thread:");
ptr += 7;
In that case its the
"[PATCH 4/4] kernel,debug: SPARC KGDB stub strcpy fix" from [09/30/2011 03:47 PM].
instead of the memcpy patch.
It seems to me that memcpy is tightly programmed. Is saving 2 lines of gdbstub.c
diff worth a memcpy rewrite?
-- Konrad
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[Linux MIPS Home] [Kernel Development] [DCCP] [Linux ARM Development] [Linux] [Photo] [Yosemite News] [MIPS Architecture] [Linux ARM Kernel] [Linux SCSI] [Linux x86_64] [Linux Hams]
![]() |