Do not truncate return value of get{,e}[ug]id and setfs[ug]id syscalls
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.
This commit is contained in:
parent
727508b077
commit
abfa939f57
9
uid.c
9
uid.c
@ -70,18 +70,15 @@
|
||||
|
||||
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)
|
||||
|
Loading…
Reference in New Issue
Block a user