On 03/11/2013 09:33 AM, tiejun.chen wrote:
> On 03/11/2013 06:39 AM, Alex Grad wrote:>> While at it, check kmalloc return value.>>>> Signed-off-by: Alex Grad <alex.grad@gmail.com>>> --->> arch/powerpc/kernel/kgdb.c | 5 ++++->> 1 file changed, 4 insertions(+), 1 deletion(-)>>>> diff --git a/arch/powerpc/kernel/kgdb.c b/arch/powerpc/kernel/kgdb.c>> index 5ca82cd..9e81dd8 100644>> --- a/arch/powerpc/kernel/kgdb.c>> +++ b/arch/powerpc/kernel/kgdb.c>> @@ -159,7 +159,10 @@ static int kgdb_singlestep(struct pt_regs *regs)>> if (user_mode(regs))>> return 0;>>>> - backup_current_thread_info = (struct thread_info *)kmalloc(sizeof(struct>> thread_info), GFP_KERNEL);>> + backup_current_thread_info = kmalloc(sizeof(struct thread_info),>> GFP_KERNEL);>> + if (!backup_current_thread_info)>> + return -ENOMEM;>> I already send a kgdb patchset in "[v3][PATCH 6/6] powerpc/kgdb: remove copying> the thread_info" to remove these stuff since its unnecessary to copy current> thread_info now.
I guess that patchset needs to be reviewed with more time and I also think I can
leave this copying to be compatible for other platforms in the future, but we
really should fix this problem I introduced right now. So I'd like to fix this
with DEFINE_PER_CPU.
I send a patch, "powerpc/kgdb: use DEFINE_PER_CPU to allocate kgdb's
thread_info", so please take a look at if that version is fine to every one.
Any comments are appreciated.
BTW, I will update that kgdb patchset with this change to resend.
Tiejun