On 06/20/2011 07:33 AM, H. Peter Anvin wrote: > On 06/20/2011 07:01 AM, H.J. Lu wrote: >> On Mon, Jun 20, 2011 at 6:53 AM, Bernd Schmidt <ber...@codesourcery.com> >> wrote: >>> On 06/20/2011 03:51 PM, H.J. Lu wrote: >>>> Promote pointers to Pmode when passing/returning in registers is >>>> a security concern. > > No. Promoting *NON*-pointers (or rather, requiring non-pointers to > having already been zero extended) is a security concern. I thought I'd > made that point clear already. This is a hideously critical distinction. > >> Peter, do you think it is safe to assume upper 32bits are zero in >> user space for x32? Kernel isn't a problem since pointer is 64bit >> in kernel and we don't pass pointers on stack to kernel. > > As I have already stated, if we *cannot* require pointers to be > zero-extended on entry to the kernel, we're going to have to have > special entry points for all the x32 system calls except the ones that > don't take pointers.
If it's a security concern, surely you have to do it in the kernel anyway, lest someone call into the kernel via their own assembly rather than something controlled by the compiler... r~