Messages in this thread | | | Date | Thu, 7 Aug 2008 09:49:20 +0200 | From | Pavel Machek <> | Subject | Re: [PATCH] x86: prevent binaries from making system calls using the wrong syscall interface |
| |
> Prevent binaries from making system calls using other than one > of the "normal" system call interfaces for that binary type. > > Currently there is nothing to prevent 64 bit binaries from > attempting to make system calls using the 32 bit system call > interfaces and vice versa.
I thought this was a feature?
> Index: linux-2.6.26.2/arch/x86/ia32/ia32entry.S > =================================================================== > --- linux-2.6.26.2.orig/arch/x86/ia32/ia32entry.S 2008-08-06 09:19:01.000000000 -0700 > +++ linux-2.6.26.2/arch/x86/ia32/ia32entry.S 2008-08-06 13:34:54.566992000 -0700 > @@ -123,6 +123,8 @@ > .quad 1b,ia32_badarg > .previous > GET_THREAD_INFO(%r10) > + testl $_TIF_IA32,threadinfo_flags(%r10) > + jz ia32_bad_abi > orl $TS_COMPAT,threadinfo_status(%r10) > testl $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SECCOMP),threadinfo_flags(%r10) > CFI_REMEMBER_STATE
...and slowing down all syscalls for this is certainly bad idea. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
| |