vserver 1.9.5.x5
[linux-2.6.git] / include / linux / sem.h
index aaf4576..2d8516b 100644 (file)
@@ -45,10 +45,10 @@ struct sembuf {
 /* arg for semctl system calls. */
 union semun {
        int val;                        /* value for SETVAL */
-       struct semid_ds *buf;           /* buffer for IPC_STAT & IPC_SET */
-       unsigned short *array;          /* array for GETALL & SETALL */
-       struct seminfo *__buf;          /* buffer for IPC_INFO */
-       void *__pad;
+       struct semid_ds __user *buf;    /* buffer for IPC_STAT & IPC_SET */
+       unsigned short __user *array;   /* array for GETALL & SETALL */
+       struct seminfo __user *__buf;   /* buffer for IPC_INFO */
+       void __user *__pad;
 };
 
 struct  seminfo {
@@ -109,6 +109,7 @@ struct sem_queue {
        int                     id;      /* internal sem id */
        struct sembuf *         sops;    /* array of pending operations */
        int                     nsops;   /* number of operations */
+       int                     alter;   /* does the operation alter the array? */
 };
 
 /* Each task has a list of undo requests. They are executed automatically