On Thu, 2016-04-14 at 10:48 -0700, Andy Lutomirski wrote: > On Thu, Apr 14, 2016 at 10:22 AM, Ben Hutchings <b...@decadent.org.uk> wrote: > > > > I'm updating my x32-as-boot-time-option patch for 4.6, and I noticed a > > subtle change in system call number masking on x86_64 as a result of > > moving the slow path into C. > > > > Previously we would mask out the upper 32 bits before doing anything > > with the system call number, both on the slow and fast paths, if and > > only if x32 was enabled. > I always thought that the old behavior was nonsensical. The behavior > should be the same regardless of config options. [...]
Oops, my C is failing me - ints are sign-extended, not zero-extended, when promoted to unsigned long. So the slow path actually does test the upper 32 bits, and the odd one out is the x32 fast path. Ben. -- Ben Hutchings Always try to do things in chronological order; it's less confusing that way.
signature.asc
Description: This is a digitally signed message part