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-next>] [day] [month] [year] [list]
Date:	Thu, 11 Feb 2010 19:10:47 -0500
From:	Mike Frysinger <vapier@...too.org>
To:	linux-sh@...r.kernel.org, linux-parisc@...r.kernel.org,
	sparclinux@...r.kernel.org
Cc:	Roland McGrath <roland@...hat.com>, linux-kernel@...r.kernel.org
Subject: parsic/sh/sparc tracehook breakage when tracing signals

when i ported the Blackfin code to the tracehook framework, i copied a latent 
bug from the sparc port.  trying to trace another process while handling 
signals no longer worked (and subsequently broke some of the gdb tests).

this was due to calling tracehook_signal_handler() with the last argument 
(stepping) always as 0.  if we look at the definition of this function in 
linux/tracehook.h, we see that calling the function stepping=0 is pointless:
	if (stepping)
		ptrace_notify(SIGTRAP);

after Roland pointed out some more stuff, i went back and looked at all the 
tracehook arches in the tree.  it seems like these arches are all broken in 
the same way:
	parisc (arch/parisc/kernel/signal.c)
	SuperH (64bit only) (arch/sh/kernel/signal_64.c)
	Sparc (all bits) (arch/sparc/kernel/signal{_32,32,_64}.c)

seems like you guys should just change the last argument to:
	test_thread_flag(TIF_SINGLESTEP)
-mike

Download attachment "signature.asc " of type "application/pgp-signature" (837 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ