From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vincent Chen Subject: Re: [PATCH v6 22/36] nds32: Debugging support Date: Tue, 23 Jan 2018 15:28:07 +0800 Message-ID: References: <65ae3b5b7eabe8680857b1821c72127f611c950b.1515766253.git.green.hu@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Return-path: In-Reply-To: Sender: devicetree-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Arnd Bergmann Cc: Greentime Hu , Greentime , Linux Kernel Mailing List , linux-arch , Thomas Gleixner , Jason Cooper , Marc Zyngier , Rob Herring , Networking , DTML , Al Viro , David Howells , Will Deacon , Daniel Lezcano , linux-serial-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Geert Uytterhoeven , Linus Walleij , Mark Rutland , Greg KH , Guo Ren List-Id: linux-arch.vger.kernel.org 2018-01-18 18:37 GMT+08:00 Arnd Bergmann : > On Mon, Jan 15, 2018 at 6:53 AM, Greentime Hu wrote: >> From: Greentime Hu >> >> This patch adds ptrace support. >> >> Signed-off-by: Vincent Chen >> Signed-off-by: Greentime Hu > > I must have missed this patch earlier, unfortunately I don't think > this is ready: > >> +long arch_ptrace(struct task_struct *child, long request, unsigned long addr, >> + unsigned long data) >> +{ >> + int ret; >> + >> + switch (request) { >> + case PTRACE_PEEKUSR: >> + ret = >> + ptrace_read_user(child, addr, (unsigned long __user *)data); >> + break; >> + >> + case PTRACE_POKEUSR: >> + ret = ptrace_write_user(child, addr, data); >> + break; >> + >> + case PTRACE_GETREGS: >> + ret = ptrace_getregs(child, (void __user *)data); >> + break; >> + >> + case PTRACE_SETREGS: >> + ret = ptrace_setregs(child, (void __user *)data); >> + break; >> + >> + case PTRACE_GETFPREGS: >> + ret = ptrace_getfpregs(child, (void __user *)data); >> + break; >> + >> + case PTRACE_SETFPREGS: >> + ret = ptrace_setfpregs(child, (void __user *)data); >> + break; >> + >> + default: >> + ret = ptrace_request(child, request, addr, data); >> + break; >> + } >> + >> + return ret; >> +} > > It appears that you are implementing the old-style ptrace handling > with architecture specific commands. Please have a look at how > this is done in risc-v or arm64. If this takes more too much time > to address, I'd suggest using an empty stub function for sys_ptrace > and adding it back at a later point, but not send the current version > upstream. > > Arnd Dear Arnd: Thanks for your comments. After referring to risc-v and arm64, I realize that PTRACE_GETREGSET and PTRACE_SETREGSET is used to replace arch specific command. The needed port for the two ptrace commands had done in current version patch. Could I keep them and just removing the code for old-style ptrace handling in the next version patch? Thanks Vincent -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-it0-f65.google.com ([209.85.214.65]:34633 "EHLO mail-it0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751111AbeAWH2I (ORCPT ); Tue, 23 Jan 2018 02:28:08 -0500 MIME-Version: 1.0 In-Reply-To: References: <65ae3b5b7eabe8680857b1821c72127f611c950b.1515766253.git.green.hu@gmail.com> From: Vincent Chen Date: Tue, 23 Jan 2018 15:28:07 +0800 Message-ID: Subject: Re: [PATCH v6 22/36] nds32: Debugging support Content-Type: text/plain; charset="UTF-8" Sender: linux-arch-owner@vger.kernel.org List-ID: To: Arnd Bergmann Cc: Greentime Hu , Greentime , Linux Kernel Mailing List , linux-arch , Thomas Gleixner , Jason Cooper , Marc Zyngier , Rob Herring , Networking , DTML , Al Viro , David Howells , Will Deacon , Daniel Lezcano , linux-serial@vger.kernel.org, Geert Uytterhoeven , Linus Walleij , Mark Rutland , Greg KH , Guo Ren , Randy Dunlap , David Miller , Jonas Bonn , Stefan Kristiansson , Stafford Horne , Vincent Chen Message-ID: <20180123072807.Qu65qMoh8oE66bj6_aOxlD3nVTg2v6vMBEYXtmPDA98@z> 2018-01-18 18:37 GMT+08:00 Arnd Bergmann : > On Mon, Jan 15, 2018 at 6:53 AM, Greentime Hu wrote: >> From: Greentime Hu >> >> This patch adds ptrace support. >> >> Signed-off-by: Vincent Chen >> Signed-off-by: Greentime Hu > > I must have missed this patch earlier, unfortunately I don't think > this is ready: > >> +long arch_ptrace(struct task_struct *child, long request, unsigned long addr, >> + unsigned long data) >> +{ >> + int ret; >> + >> + switch (request) { >> + case PTRACE_PEEKUSR: >> + ret = >> + ptrace_read_user(child, addr, (unsigned long __user *)data); >> + break; >> + >> + case PTRACE_POKEUSR: >> + ret = ptrace_write_user(child, addr, data); >> + break; >> + >> + case PTRACE_GETREGS: >> + ret = ptrace_getregs(child, (void __user *)data); >> + break; >> + >> + case PTRACE_SETREGS: >> + ret = ptrace_setregs(child, (void __user *)data); >> + break; >> + >> + case PTRACE_GETFPREGS: >> + ret = ptrace_getfpregs(child, (void __user *)data); >> + break; >> + >> + case PTRACE_SETFPREGS: >> + ret = ptrace_setfpregs(child, (void __user *)data); >> + break; >> + >> + default: >> + ret = ptrace_request(child, request, addr, data); >> + break; >> + } >> + >> + return ret; >> +} > > It appears that you are implementing the old-style ptrace handling > with architecture specific commands. Please have a look at how > this is done in risc-v or arm64. If this takes more too much time > to address, I'd suggest using an empty stub function for sys_ptrace > and adding it back at a later point, but not send the current version > upstream. > > Arnd Dear Arnd: Thanks for your comments. After referring to risc-v and arm64, I realize that PTRACE_GETREGSET and PTRACE_SETREGSET is used to replace arch specific command. The needed port for the two ptrace commands had done in current version patch. Could I keep them and just removing the code for old-style ptrace handling in the next version patch? Thanks Vincent