sembuf
struct sembuf *sops;
LSM_HOOK(int, 0, sem_semop, struct kern_ipc_perm *perm, struct sembuf *sops,
struct sembuf *sops, unsigned nsops,
struct sembuf;
int security_sem_semop(struct kern_ipc_perm *sma, struct sembuf *sops,
long ksys_semtimedop(int semid, struct sembuf __user *tsops,
long compat_ksys_semtimedop(int semid, struct sembuf __user *tsems,
long __do_semtimedop(int semid, struct sembuf *tsems, unsigned int nsops,
struct sembuf;
asmlinkage long sys_semtimedop(int semid, struct sembuf __user *sops,
asmlinkage long sys_semtimedop_time32(int semid, struct sembuf __user *sops,
asmlinkage long sys_semop(int semid, struct sembuf __user *sops,
static void set_semotime(struct sem_array *sma, struct sembuf *sops)
static void do_smart_update(struct sem_array *sma, struct sembuf *sops, int nsops,
struct sembuf *sop = q->blocking;
struct sembuf *sops; /* array of pending operations */
struct sembuf *blocking; /* the operation that blocked */
long __do_semtimedop(int semid, struct sembuf *sops,
struct sembuf *sop;
static long do_semtimedop(int semid, struct sembuf __user *tsops,
struct sembuf fast_sops[SEMOPM_FAST];
struct sembuf *sops = fast_sops;
long ksys_semtimedop(int semid, struct sembuf __user *tsops,
SYSCALL_DEFINE4(semtimedop, int, semid, struct sembuf __user *, tsops,
long compat_ksys_semtimedop(int semid, struct sembuf __user *tsems,
SYSCALL_DEFINE4(semtimedop_time32, int, semid, struct sembuf __user *, tsems,
SYSCALL_DEFINE3(semop, int, semid, struct sembuf __user *, tsops,
static inline int sem_lock(struct sem_array *sma, struct sembuf *sops,
struct sembuf *sop;
struct sembuf *sops;
struct sembuf *sop;
struct sembuf *sops;
static int do_smart_wakeup_zero(struct sem_array *sma, struct sembuf *sops,
return ksys_semtimedop(first, (struct sembuf __user *)ptr,
int security_sem_semop(struct kern_ipc_perm *sma, struct sembuf *sops,
struct sembuf *sops, unsigned nsops, int alter)
static int smack_sem_semop(struct kern_ipc_perm *isp, struct sembuf *sops,
struct sembuf sembuf;
sembuf.sem_num = 0;
sembuf.sem_flg = 0;
sembuf.sem_op = 0;
if (semop(sem, &sembuf, 1) < 0) {
struct sembuf sembuf;
sembuf.sem_op = -1;
sembuf.sem_flg = 0;
sembuf.sem_num = 0;
if (semop(sem, &sembuf, 1) < 0) {
if (semop(sem, &sembuf, 1) < 0) {
if (semop(sem, &sembuf, 1) < 0) {
if (semop(sem, &sembuf, 1) < 0) {
if (semop(sem, &sembuf, 1) < 0) {
struct sembuf sem_wait = {0, -1, 0};
struct sembuf sem_signal = {0, 1, 0};