Bug#245563: libc6: causes errors on linux-2.6.5 with PaX and CONFIG_PAX_NOVSYSCALL
On Fri, Apr 23, 2004 at 04:31:19PM -0400, Ian Gulliver wrote:
> Package: libc6
> Version: 2.3.2.ds1-12
> Severity: important
> Tags: sid
>
> On Linux 2.6.5 with the PaX patch applied:
>
> http://pax.grsecurity.net/pax-linux-2.6.5-200404181525.patch
>
> and the CONFIG_PAX_NOVSYSCALL flag enabled, the system dies during
> startup with a series of PaX errors:
What does NOVSYSCALL do? I doubt it disables the vsyscall properly if
glibc is trying to use the in-kernel signal trampoline. Glibc CVS does
this:
if (GLRO(dl_sysinfo_dso) == NULL)
{
kact.sa_flags |= SA_RESTORER;
kact.sa_restorer = ((act->sa_flags & SA_SIGINFO)
? &restore_rt : &restore);
}
Debian glibc does this:
+# if __ASSUME_VSYSCALL == 0
kact.sa_flags = act->sa_flags | SA_RESTORER;
kact.sa_restorer = ((act->sa_flags & SA_SIGINFO)
? &restore_rt : &restore);
+# else
__ASSUME_VSYSCALL is not defined so glibc should be setting
SA_RESTORER.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer
Reply to: