Hmm. Why make this conditional on CONFIG_IA32_EMULATION and TIF_IA32?
That field is never really 64-bit anyway. The only allowable values are
- system call number (== small positive value)
- a small negative number for traps
So I'd suggest just making it entirely unconditionally just do
case offsetof(struct user_regs_struct, orig_ax):
value = (long) (s32) value;
break;
and be done with it. Why have arbitrarily different code on x86 and x86-64
when there is no real reason for it?
Linus
--