lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sat, 3 Mar 2007 18:03:00 +0000
From:	Russell King <rmk+lkml@....linux.org.uk>
To:	Andrew Morton <akpm@...ux-foundation.org>,
	Roland McGrath <roland@...hat.cm>
Cc:	linux-kernel@...r.kernel.org
Subject: Re: 2.6.21-rc2-mm1

On Fri, Mar 02, 2007 at 03:15:40AM -0800, Andrew Morton wrote:
> It's a complete rewrite of the ptrace code.  Quite heroic, really.
> 
> Lots of documentation at http://people.redhat.com/roland/utrace/

Here's some comments on it:

1. support for changing the syscall number.  From the changes which
   Roland has done in arch/arm/kernel/ptrace.c, it seems that we are
   no longer allowed to change the syscall number.  Why is this?

   We need to support a special "SET_SYSCALL" call which is passed the
   new syscall number.  This needs to be passed to the child, and
   when the child returns from syscall_trace(), it needs to return this
   new data as the system call number.

2. tracehook_abort_syscall can not be supported on ARM - syscall numbers
   aren't (always) passed through the register set.

3. single step support.  no idea how to do this with utrace; the
   documentation seems to imply that utrace will not support software-
   based single stepping when it involves modifying the text, and that
   it can continue to be supported via the ptrace compatibility.

   Since this is the only way to do single stepping on ARM, this means
   that we need to support ptrace indefinitely.

So, as I see it, supporting utrace on ARM would be a major backwards
step as things stand at the moment - no single stepping, and no ability
to modify syscalls.  Unfortunately, not having the single step ability
makes debugging pretty much useless, so this is something which must
be supported.

Finally, there's quite a bit of cleanup work which needs to be done for
utrace - namely removing all the pesky linux/ptrace.h includes scattered
throughout the tree.  This is by far the biggest problem I've faced in
trying to tackle utrace soo far.

Attached are two patches (yes yes, but they're not for applying, only
for reading - ergo no signoffs).  The first removes a whole wodge of
linux/ptrace.h includes.  The second is the preliminary, completely
untested ARM utrace support - in particular look for the FIXMEs.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:

View attachment "remove-linux_ptrace_h.diff" of type "text/plain" (14832 bytes)

View attachment "utrace-arm.diff" of type "text/plain" (18573 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ