This should not be a user visible change unless the kernel does
something completely unexpected. In the latter case, let user see
what is going on.
* uid.c (SYS_FUNC(getuid), SYS_FUNC(setfsuid)): Do not truncate
tcp->u_rval to uid_t on exiting syscall, return RVAL_DECODED.
SYS_FUNC(getuid)
{
- if (exiting(tcp))
- tcp->u_rval = (uid_t) tcp->u_rval;
- return RVAL_UDECIMAL;
+ return RVAL_UDECIMAL | RVAL_DECODED;
}
SYS_FUNC(setfsuid)
{
if (entering(tcp))
tprintf("%u", (uid_t) tcp->u_arg[0]);
- else
- tcp->u_rval = (uid_t) tcp->u_rval;
- return RVAL_UDECIMAL;
+
+ return RVAL_UDECIMAL | RVAL_DECODED;
}
SYS_FUNC(setuid)