lkml.org 
[lkml]   [2015]   [Apr]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v4 00/24] ILP32 for ARM64
On Wed, Apr 15, 2015 at 01:50:51PM +0200, Dr. Philipp Tomsich wrote:
> On 15 Apr 2015, at 13:22, Catalin Marinas <catalin.marinas@arm.com> 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


\
 
 \ /
  Last update: 2015-04-15 18:21    [W:0.095 / U:4.604 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site