diff options
Diffstat (limited to 'ipc')
-rw-r--r-- | ipc/compat.c | 1 | ||||
-rw-r--r-- | ipc/sem.c | 9 | ||||
-rw-r--r-- | ipc/shm.c | 2 | ||||
-rw-r--r-- | ipc/util.h | 2 |
4 files changed, 6 insertions, 8 deletions
diff --git a/ipc/compat.c b/ipc/compat.c index 70e4e4e10fd..3881d564c66 100644 --- a/ipc/compat.c +++ b/ipc/compat.c @@ -572,6 +572,7 @@ static inline int put_compat_shminfo(struct shminfo64 *smi, err |= __put_user(smi->shmmni, &up->shmmni); err |= __put_user(smi->shmseg, &up->shmseg); err |= __put_user(smi->shmall, &up->shmall); + return err; } static inline int put_compat_shm_info(struct shm_info __user *ip, diff --git a/ipc/sem.c b/ipc/sem.c index 5ad7ac0ed60..7e8a25c82ef 100644 --- a/ipc/sem.c +++ b/ipc/sem.c @@ -1054,7 +1054,7 @@ asmlinkage long sys_semtimedop(int semid, struct sembuf __user *tsops, struct sembuf fast_sops[SEMOPM_FAST]; struct sembuf* sops = fast_sops, *sop; struct sem_undo *un; - int undos = 0, decrease = 0, alter = 0, max; + int undos = 0, alter = 0, max; struct sem_queue queue; unsigned long jiffies_left = 0; @@ -1089,13 +1089,10 @@ asmlinkage long sys_semtimedop(int semid, struct sembuf __user *tsops, if (sop->sem_num >= max) max = sop->sem_num; if (sop->sem_flg & SEM_UNDO) - undos++; - if (sop->sem_op < 0) - decrease = 1; - if (sop->sem_op > 0) + undos = 1; + if (sop->sem_op != 0) alter = 1; } - alter |= decrease; retry_undos: if (undos) { diff --git a/ipc/shm.c b/ipc/shm.c index cce022435db..1d6cf08d950 100644 --- a/ipc/shm.c +++ b/ipc/shm.c @@ -170,7 +170,7 @@ static struct vm_operations_struct shm_vm_ops = { .open = shm_open, /* callback for a new vm-area open */ .close = shm_close, /* callback for when the vm-area is released */ .nopage = shmem_nopage, -#ifdef CONFIG_NUMA +#if defined(CONFIG_NUMA) && defined(CONFIG_SHMEM) .set_policy = shmem_set_policy, .get_policy = shmem_get_policy, #endif diff --git a/ipc/util.h b/ipc/util.h index 07d68945236..44348ca5a70 100644 --- a/ipc/util.h +++ b/ipc/util.h @@ -67,7 +67,7 @@ int ipc_checkid(struct ipc_ids* ids, struct kern_ipc_perm* ipcp, int uid); void kernel_to_ipc64_perm(struct kern_ipc_perm *in, struct ipc64_perm *out); void ipc64_perm_to_ipc_perm(struct ipc64_perm *in, struct ipc_perm *out); -#if defined(__ia64__) || defined(__x86_64__) || defined(__hppa__) +#if defined(__ia64__) || defined(__x86_64__) || defined(__hppa__) || defined(__XTENSA__) /* On IA-64, we always use the "64-bit version" of the IPC structures. */ # define ipc_parse_version(cmd) IPC_64 #else |