diff options
Diffstat (limited to 'libc/sysdeps/unix/sysv/linux/msgrcv.c')
-rw-r--r-- | libc/sysdeps/unix/sysv/linux/msgrcv.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/libc/sysdeps/unix/sysv/linux/msgrcv.c b/libc/sysdeps/unix/sysv/linux/msgrcv.c index f9b399ebd..7ec9b253b 100644 --- a/libc/sysdeps/unix/sysv/linux/msgrcv.c +++ b/libc/sysdeps/unix/sysv/linux/msgrcv.c @@ -23,13 +23,11 @@ #include <sysdep-cancel.h> #include <sys/syscall.h> -#include <bp-checks.h> - /* Kludge to work around Linux' restriction of only up to five arguments to a system call. */ struct ipc_kludge { - void *__unbounded msgp; + void *msgp; long int msgtyp; }; @@ -46,17 +44,16 @@ __libc_msgrcv (msqid, msgp, msgsz, msgtyp, msgflg) fives parameters to a system call. */ struct ipc_kludge tmp; - tmp.msgp = CHECK_N (msgp, msgsz); + tmp.msgp = msgp; tmp.msgtyp = msgtyp; if (SINGLE_THREAD_P) - return INLINE_SYSCALL (ipc, 5, IPCOP_msgrcv, msqid, msgsz, msgflg, - __ptrvalue (&tmp)); + return INLINE_SYSCALL (ipc, 5, IPCOP_msgrcv, msqid, msgsz, msgflg, &tmp); int oldtype = LIBC_CANCEL_ASYNC (); ssize_t result = INLINE_SYSCALL (ipc, 5, IPCOP_msgrcv, msqid, msgsz, msgflg, - __ptrvalue (&tmp)); + &tmp); LIBC_CANCEL_RESET (oldtype); |