On Tue, Jan 19, 2016 at 2:16 PM, David Miller <davem@xxxxxxxxxxxxx> wrote: > From: Al Viro <viro@xxxxxxxxxxxxxxxxxx> > Date: Tue, 19 Jan 2016 21:55:36 +0000 > >> On Tue, Jan 19, 2016 at 01:47:24PM -0800, Andy Lutomirski wrote: >>> Essentially all users of is_compat_task in the kernel are trying to >>> determine whether they are executing in the context of a compat >>> syscall. On at least x86_64 and sparc, these are not at all the >>> same question. >>> >>> On x86_64 and sparc, therefore, is_compat_task doesn't return the >>> overall compat state of the task; it returns true if the task is >>> currently in a compat syscall. >> >> The hell it does. Andy, TIF_32BIT is *NOT* set on syscall entry; it is >> set by execve(). And 64bit task (with that bit clear) can bloody well >> issue 32bit syscalls. Really. > > Correct. See the other thread. My patch here is garbage, but x86 and sparc really do work differently here, and I think that x86's behavior is better than sparc's. -- Andy Lutomirski AMA Capital Management, LLC -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html