Hi Dmitry, On Mon, Dec 10, 2018 at 5:30 AM Dmitry V. Levin <ldv@xxxxxxxxxxxx> wrote:
syscall_get_* functions are required to be implemented on all architectures in order to extend the generic ptrace API with PTRACE_GET_SYSCALL_INFO request. This introduces asm/syscall.h on m68k implementing all 5 syscall_get_* functions as documented in asm-generic/syscall.h: syscall_get_nr, syscall_get_arguments, syscall_get_error, syscall_get_return_value, and syscall_get_arch. Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Andy Lutomirski <luto@xxxxxxxxxx> Cc: Elvira Khabirova <lineprinter@xxxxxxxxxxxx> Cc: Eugene Syromyatnikov <esyr@xxxxxxxxxx> Cc: linux-m68k@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Dmitry V. Levin <ldv@xxxxxxxxxxxx> --- Notes: v5: added syscall_get_nr, syscall_get_arguments, syscall_get_error, and syscall_get_return_value v1: added syscall_get_arch
--- /dev/null +++ b/arch/m68k/include/asm/syscall.h @@ -0,0 +1,39 @@
+static inline void +syscall_get_arguments(struct task_struct *task, struct pt_regs *regs, + unsigned int i, unsigned int n, unsigned long *args) +{ + BUG_ON(i + n > 6);
Does this have to crash the kernel? Perhaps you can return an error code instead?
+ memcpy(args, ®s->d1 + i, n * sizeof(args[0])); +}
Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds