Re: [PATCH] x86_32, entry: store badsys error code in %eax

From: Sven Wegener
Date: Tue Jul 22 2014 - 02:58:09 EST


On Mon, 21 Jul 2014, Andy Lutomirski wrote:

> On Sun, Jul 20, 2014 at 2:33 PM, Sven Wegener <sven.wegener@xxxxxxxxxxx> wrote:
> > Commit 554086d ("x86_32, entry: Do syscall exit work on badsys
> > (CVE-2014-4508)") introduced a subtle regression in the x86_32 syscall
> > entry code, resulting in syscall() not returning proper errors for
> > non-existing syscalls on CPUs not supporting the sysenter feature.
>
> s/not supporting/supporting/

Looks like I mixed the sep vs. syscall CPU flag. Initially I encountered
the issue on real hardware (Celeron) having the sep but not the syscall
flag. During testing it worked on an emulated CPU missing the sep and
having the syscall flag and broke on an emulated CPU having the sep and
missing the syscall flag. I only looked at the syscall flag, which is
completly invariant for this issue, and assumed it stands for sysenter
support, completly ignoring the sep flag.

Sven
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/