[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: