[LTP] [PATCH 3/3] syscalls/semctl01: Convert into new api
Cyril Hrubis
chrubis@suse.cz
Thu Apr 8 12:33:25 CEST 2021
Hi!
> > Does it really require root?
> See ftok(3) manpage, it said "The ftok() function uses the identity of
> the file named by the given pathname (which must refer to an existing,
> accessible file)".
> ftok source code
> key_t
> ftok (const char *pathname, int proj_id)
> {
> struct stat64 st;
> key_t key;
>
> if (__stat64 (pathname, &st) < 0)
> return (key_t) -1;
>
> key = ((st.st_ino & 0xffff) | ((st.st_dev & 0xff) << 16)
> | ((proj_id & 0xff) << 24));
>
> return key;
> }
>
> To ensure ftok succeed, we must require root. Or, modify GETIPCKEY api,
> we can use tmp directory. Anyhow, I will send a v2 to remove useless
> funtion declartion firstly.
Unless we are sharing the semaphore with a process that wasn't worked
from the test process we can also pass IPC_PRIVATE instead of the key.
--
Cyril Hrubis
chrubis@suse.cz
More information about the ltp
mailing list