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

Reply via email to