asmlinkage long ppc32_select(u32 n, compat_ulong_t __user *inp, compat_ulong_t __user *outp, compat_ulong_t __user *exp, compat_uptr_t tvp_x) { /* sign extend n */ return compat_sys_select((int)n, inp, outp, exp, compat_ptr(tvp_x)); }
asmlinkage int sunos_select(int width, u32 inp, u32 outp, u32 exp, u32 tvp_x) { int ret; /* SunOS binaries expect that select won't change the tvp contents */ ret = compat_sys_select(width, compat_ptr(inp), compat_ptr(outp), compat_ptr(exp), compat_ptr(tvp_x)); if (ret == -EINTR && tvp_x) { struct compat_timeval __user *tvp = compat_ptr(tvp_x); time_t sec, usec; __get_user(sec, &tvp->tv_sec); __get_user(usec, &tvp->tv_usec); if (sec == 0 && usec == 0) ret = 0; } return ret; }