Hello,
I have a question about source code of shm_open and sem_open functions.
int
shm_open(const char *path, int flags, mode_t mode)
{
........ (skipped) ....
if (sb,st_uid != getuid()) {
close(fd);
errno = EPERM;
return -1;
}
........ (skipped) ....
}
I know the UID comparison is used to avoid share memory accessed by
different user. Similar code also existed in sem_open function.
My question is, why it is getuid(), why not use geteuid()?
I am not sure if it is bug or not, but I think it is more reasonable
if it checked
by effective user id,
Any comments?
BRs,
Joey