aboutsummaryrefslogtreecommitdiffstats
path: root/ipc
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@athlon.transmeta.com>2002-02-04 17:59:22 -0800
committerLinus Torvalds <torvalds@athlon.transmeta.com>2002-02-04 17:59:22 -0800
commit6db68906c1bb26066a32c8e5be0c523da41cf08f (patch)
treecfbf4280e3c3ff14986811401e4d5c58c2108f3d /ipc
parent2a7117ac7c120c085c56745f753166b821022858 (diff)
downloadhistory-6db68906c1bb26066a32c8e5be0c523da41cf08f.tar.gz
v2.4.1.4 -> v2.4.2
- sync up more with Alan - Urban Widmark: smbfs and HIGHMEM fix - Chris Mason: reiserfs tail unpacking fix ("null bytes in reiserfs files") - Adan Richter: new cpia usb ID - Hugh Dickins: misc small sysv ipc fixes - Andries Brouwer: remove overly restrictive sector size check for SCSI cd-roms
Diffstat (limited to 'ipc')
-rw-r--r--ipc/msg.c2
-rw-r--r--ipc/sem.c4
-rw-r--r--ipc/util.c2
-rw-r--r--ipc/util.h4
4 files changed, 6 insertions, 6 deletions
diff --git a/ipc/msg.c b/ipc/msg.c
index 41f7dbcbe8828d..a2eadc97902355 100644
--- a/ipc/msg.c
+++ b/ipc/msg.c
@@ -473,7 +473,7 @@ asmlinkage long sys_msgctl (int msqid, int cmd, struct msqid_ds *buf)
int success_return;
if (!buf)
return -EFAULT;
- if(cmd == MSG_STAT && msqid > msg_ids.size)
+ if(cmd == MSG_STAT && msqid >= msg_ids.size)
return -EINVAL;
memset(&tbuf,0,sizeof(tbuf));
diff --git a/ipc/sem.c b/ipc/sem.c
index 0ef4113ccba061..c9c424dfa9650e 100644
--- a/ipc/sem.c
+++ b/ipc/sem.c
@@ -467,7 +467,7 @@ int semctl_nolock(int semid, int semnum, int cmd, int version, union semun arg)
struct semid64_ds tbuf;
int id;
- if(semid > sem_ids.size)
+ if(semid >= sem_ids.size)
return -EINVAL;
memset(&tbuf,0,sizeof(tbuf));
@@ -922,7 +922,7 @@ asmlinkage long sys_semop (int semid, struct sembuf *tsops, unsigned nsops)
tmp = sem_lock(semid);
if(tmp==NULL) {
- if(queue.status != -EIDRM)
+ if(queue.prev != NULL)
BUG();
current->semsleeping = NULL;
error = -EIDRM;
diff --git a/ipc/util.c b/ipc/util.c
index b891e7775ac525..85d7a65b230150 100644
--- a/ipc/util.c
+++ b/ipc/util.c
@@ -185,7 +185,7 @@ struct kern_ipc_perm* ipc_rmid(struct ipc_ids* ids, int id)
{
struct kern_ipc_perm* p;
int lid = id % SEQ_MULTIPLIER;
- if(lid > ids->size)
+ if(lid >= ids->size)
BUG();
p = ids->entries[lid].p;
ids->entries[lid].p = NULL;
diff --git a/ipc/util.h b/ipc/util.h
index ff4bfb0fc99780..f05f6c213187ff 100644
--- a/ipc/util.h
+++ b/ipc/util.h
@@ -54,7 +54,7 @@ extern inline struct kern_ipc_perm* ipc_get(struct ipc_ids* ids, int id)
{
struct kern_ipc_perm* out;
int lid = id % SEQ_MULTIPLIER;
- if(lid > ids->size)
+ if(lid >= ids->size)
return NULL;
out = ids->entries[lid].p;
@@ -69,7 +69,7 @@ extern inline struct kern_ipc_perm* ipc_lock(struct ipc_ids* ids, int id)
{
struct kern_ipc_perm* out;
int lid = id % SEQ_MULTIPLIER;
- if(lid > ids->size)
+ if(lid >= ids->size)
return NULL;
spin_lock(&ids->ary);