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