On Wed, Apr 15, 2015 at 01:50:51PM +0200, Dr. Philipp Tomsich wrote: > On 15 Apr 2015, at 13:22, Catalin Marinas <[email protected]> wrote: > > I think you are right. I was more thinking of those routed directly to > > the native (non-compat) syscalls. We would need to make sure the return > > value (X0 being the only register not restored on return from exception) > > has the top 32-bit part zeroed. > > As the kernel is LP64 and will thus attempt to return a 64bit return value, > the > high bits should be properly sign-extended in all cases. > > The problem (posed by procedure call standard) of information leakage could > manifest itself only, if the kernel tried to return something smaller than 64 > bits… > in that case, we can the problem would already exhibit for the LP64 ABI. > > For the ILP32 implementation, I’ll thus assume that all LP64 ABI calls reused > are clean in this regard.
Yes. All the compat_sys_* are defined to return a long, so even if ILP32 user space treats it as 32-bit, there is no information leak because of the kernel's sign-extension. So just a false alarm, we can consider this part sorted. -- Catalin -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

