Remove CHECK_1 and CHECK_1_NULL_OK.

This commit is contained in:
Joseph Myers 2013-02-08 01:12:11 +00:00
parent b2c9eff43c
commit f3aae3f3eb
44 changed files with 179 additions and 176 deletions

View File

@ -1,5 +1,98 @@
2013-02-08 Joseph Myers <joseph@codesourcery.com>
[BZ #13550]
* sysdeps/generic/bp-checks.h (CHECK_1): Remove all definitions.
(CHECK_1_NULL_OK): Likewise.
* sysdeps/unix/sysv/linux/fxstat.c: Do not include <bp-checks.h>.
(__fxstat): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/fxstat64.c: Do not include
<bp-checks.h>.
(___fxstat64): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/fxstatat.c: Do not include
<bp-checks.h>.
(__fxstatat): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/fxstatat64.c: Do not include
<bp-checks.h>.
(__fxstatat64): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/i386/fxstat.c: Do not include
<bp-checks.h>.
(__fxstat): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/i386/fxstatat.c: Do not include
<bp-checks.h>.
(__fxstatat): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/i386/getresgid.c: Do not include
<bp-checks.h>.
(__getresgid): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/i386/getresuid.c: Do not include
<bp-checks.h>.
(__getresuid): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/i386/lxstat.c: Do not include
<bp-checks.h>.
(__lxstat): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/i386/msgctl.c: Do not include
<bp-checks.h>.
(__old_msgctl): Do not use CHECK_1.
(__new_msgctl): Likewise.
* sysdeps/unix/sysv/linux/i386/setrlimit.c: Do not include
<bp-checks.h>.
(__new_setrlimit): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/i386/shmctl.c: Do not include
<bp-checks.h>.
(__old_shmctl): Do not use CHECK_1.
(__new_shmctl): Likewise.
* sysdeps/unix/sysv/linux/i386/xstat.c: Do not include
<bp-checks.h>.
(__xstat): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/lxstat.c: Do not include <bp-checks.h>.
(__lxstat): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/lxstat64.c: Do not include
<bp-checks.h>.
(___lxstat64): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/msgctl.c: Do not include <bp-checks.h>.
(__old_msgctl): Do not use CHECK_1.
(__new_msgctl): Likewise.
* sysdeps/unix/sysv/linux/powerpc/gettimeofday.c: Do not include
<bp-checks.h>.
(__gettimeofday): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/ptrace.c: Do not include <bp-checks.h>.
(ptrace) [__BOUNDED_POINTERS__]: Remove conditional code.
* sysdeps/unix/sysv/linux/s390/gettimeofday.c: Do not include
<bp-checks.h>.
(__gettimeofday): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/shmctl.c: Do not include <bp-checks.h>.
(__old_shmctl): Do not use CHECK_1_NULL_OK.
(__new_shmctl): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/sigtimedwait.c: Do not include
<bp-checks.h>.
(do_sigtimedwait): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/sigwaitinfo.c: Do not include
<bp-checks.h>.
(do_sigwaitinfo): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/sparc/sparc64/msgctl.c: Do not include
<bp-checks.h>.
(msgctl): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/sparc/sparc64/shmctl.c: Do not include
<bp-checks.h>.
(shmctl): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/ustat.c: Do not include <bp-checks.h>.
(ustat): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/wordsize-64/fxstat.c: Do not include
<bp-checks.h>.
(__fxstat): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c: Do not include
<bp-checks.h>.
(__fxstatat): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/wordsize-64/lxstat.c: Do not include
<bp-checks.h>.
(__lxstat): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/wordsize-64/xstat.c: Do not include
<bp-checks.h>.
(__xstat): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/xstat.c: Do not include <bp-checks.h>.
(__xstat): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/xstat64.c: Do not include <bp-checks.h>.
(___xstat64): Do not use CHECK_1.
[BZ #13550]
* sysdeps/generic/bp-checks.h (CHECK_BOUNDS_LOW): Remove all
definitions.

View File

@ -1,3 +1,10 @@
2013-02-08 Joseph Myers <joseph@codesourcery.com>
[BZ #13550]
* sysdeps/unix/sysv/linux/aarch64/gettimeofday.c: Do not include
<bp-checks.h>.
(__gettimeofday): Do not use CHECK_1.
2013-01-23 Marcus Shawcroft <marcus.shawcroft@linaro.org>
* sysdeps/aarch64/strncmp.S: New file.

View File

@ -1,3 +1,13 @@
2013-02-08 Joseph Myers <joseph@codesourcery.com>
[BZ #13550]
* sysdeps/unix/sysv/linux/alpha/msgctl.c: Do not include
<bp-checks.h>.
(__new_msgctl): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/alpha/shmctl.c: Do not include
<bp-checks.h>.
(__new_shmctl): Do not use CHECK_1.
2013-01-31 Joseph Myers <joseph@codesourcery.com>
[BZ #13550]

View File

@ -1,3 +1,10 @@
2013-02-08 Joseph Myers <joseph@codesourcery.com>
[BZ #13550]
* sysdeps/unix/sysv/linux/ia64/sigaction.c: Do not include
<bp-checks.h>.
(__libc_sigaction): Do not use CHECK_1_NULL_OK.
2013-02-04 Joseph Myers <joseph@codesourcery.com>
[BZ #13550]

View File

@ -1,3 +1,16 @@
2013-02-08 Joseph Myers <joseph@codesourcery.com>
[BZ #13550]
* sysdeps/unix/sysv/linux/mips/mips64/msgctl.c: Do not include
<bp-checks.h>.
(__msgctl): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/mips/mips64/shmctl.c: Do not include
<bp-checks.h>.
(__shmctl): Do not use CHECK_1.
* sysdeps/unix/sysv/linux/mips/ustat.c: Do not include
<bp-checks.h>.
(ustat): Do not use CHECK_1.
2013-02-05 Maciej W. Rozycki <macro@codesourcery.com>
* sysdeps/unix/sysv/linux/mips/mips32/sysdep.h: Add a missing

View File

@ -22,7 +22,6 @@
#undef __gettimeofday
#include <bits/libc-vdso.h>
#include <bp-checks.h>
/* Get the current time of day and timezone information,
putting it into *tv and *tz. If tz is null, *tz is not filled.
@ -32,7 +31,7 @@ __gettimeofday (tv, tz)
struct timeval *tv;
struct timezone *tz;
{
return INLINE_VSYSCALL (gettimeofday, 2, CHECK_1 (tv), CHECK_1 (tz));
return INLINE_VSYSCALL (gettimeofday, 2, tv, tz);
}
libc_hidden_def (__gettimeofday)
weak_alias (__gettimeofday, gettimeofday)

View File

@ -21,13 +21,12 @@
#include <ipc_priv.h>
#include <sysdep.h>
#include <sys/syscall.h>
#include <bp-checks.h>
int
__new_msgctl (int msqid, int cmd, struct msqid_ds *buf)
{
return INLINE_SYSCALL (msgctl, 3, msqid, cmd | __IPC_64, CHECK_1 (buf));
return INLINE_SYSCALL (msgctl, 3, msqid, cmd | __IPC_64, buf);
}
#include <shlib-compat.h>

View File

@ -22,13 +22,12 @@
#include <sysdep.h>
#include <sys/syscall.h>
#include <bits/wordsize.h>
#include <bp-checks.h>
int
__new_shmctl (int shmid, int cmd, struct shmid_ds *buf)
{
return INLINE_SYSCALL (shmctl, 3, shmid, cmd | __IPC_64, CHECK_1 (buf));
return INLINE_SYSCALL (shmctl, 3, shmid, cmd | __IPC_64, buf);
}
#include <shlib-compat.h>

View File

@ -26,7 +26,6 @@
#include <sysdep.h>
#include <sys/syscall.h>
#include <bp-checks.h>
/* The variable is shared between all wrappers around signal handling
functions which have RT equivalents. This is the definition. */
@ -42,8 +41,7 @@ __libc_sigaction (sig, act, oact)
{
/* XXX The size argument hopefully will have to be changed to the
real size of the user-level sigset_t. */
return INLINE_SYSCALL (rt_sigaction, 4, sig,
CHECK_1_NULL_OK (act), CHECK_1_NULL_OK (oact), _NSIG / 8);
return INLINE_SYSCALL (rt_sigaction, 4, sig, act, oact, _NSIG / 8);
}
libc_hidden_def (__libc_sigaction)

View File

@ -20,14 +20,12 @@
#include <ipc_priv.h>
#include <sysdep.h>
#include <bp-checks.h>
int __msgctl (int msqid, int cmd, struct msqid_ds *buf);
int
__msgctl (int msqid, int cmd, struct msqid_ds *buf)
{
return INLINE_SYSCALL (msgctl, 3, msqid, cmd | __IPC_64, CHECK_1 (buf));
return INLINE_SYSCALL (msgctl, 3, msqid, cmd | __IPC_64, buf);
}
#include <shlib-compat.h>

View File

@ -20,14 +20,12 @@
#include <ipc_priv.h>
#include <sysdep.h>
#include <bp-checks.h>
int __shmctl (int shmid, int cmd, struct shmid_ds *buf);
int
__shmctl (int shmid, int cmd, struct shmid_ds *buf)
{
return INLINE_SYSCALL (shmctl, 3, shmid, cmd | __IPC_64, CHECK_1 (buf));
return INLINE_SYSCALL (shmctl, 3, shmid, cmd | __IPC_64, buf);
}
#include <shlib-compat.h>

View File

@ -22,7 +22,6 @@
#include <sysdep.h>
#include <sys/syscall.h>
#include <bp-checks.h>
int
ustat (dev_t dev, struct ustat *ubuf)
@ -32,5 +31,5 @@ ustat (dev_t dev, struct ustat *ubuf)
/* We must convert the value to dev_t type used by the kernel. */
k_dev = ((major (dev) & 0xff) << 8) | (minor (dev) & 0xff);
return INLINE_SYSCALL (ustat, 2, k_dev, CHECK_1 (ubuf));
return INLINE_SYSCALL (ustat, 2, k_dev, ubuf);
}

View File

@ -36,18 +36,11 @@
/* Same as CHECK_N, but tolerate ARG == NULL. */
# define CHECK_N_NULL_OK(ARG, N) _CHECK_N ((ARG), (N), __ptrvalue (ARG))
/* Check bounds of a pointer seated to a single object. */
# define CHECK_1(ARG) CHECK_N ((ARG), 1)
/* Same as CHECK_1, but tolerate ARG == NULL. */
# define CHECK_1_NULL_OK(ARG) CHECK_N_NULL_OK ((ARG), 1)
#else /* !__BOUNDED_POINTERS__ */
/* Do nothing if not compiling with -fbounded-pointers. */
# define BOUNDS_VIOLATED
# define CHECK_1(ARG) (ARG)
# define CHECK_1_NULL_OK(ARG) (ARG)
# define CHECK_N(ARG, N) (ARG)
# define CHECK_N_NULL_OK(ARG, N) (ARG)

View File

@ -28,7 +28,6 @@
#include <sysdep.h>
#include <sys/syscall.h>
#include <bp-checks.h>
#include <xstatconv.h>
@ -37,7 +36,7 @@ int
__fxstat (int vers, int fd, struct stat *buf)
{
if (vers == _STAT_VER_KERNEL)
return INLINE_SYSCALL (fstat, 2, fd, CHECK_1 ((struct kernel_stat *) buf));
return INLINE_SYSCALL (fstat, 2, fd, (struct kernel_stat *) buf);
#ifdef STAT_IS_KERNEL_STAT
errno = EINVAL;

View File

@ -23,7 +23,6 @@
#include <sysdep.h>
#include <sys/syscall.h>
#include <bp-checks.h>
#include <kernel-features.h>
@ -33,7 +32,7 @@ int
___fxstat64 (int vers, int fd, struct stat64 *buf)
{
int result;
result = INLINE_SYSCALL (fstat64, 2, fd, CHECK_1 (buf));
result = INLINE_SYSCALL (fstat64, 2, fd, buf);
#if defined _HAVE_STAT64___ST_INO && __ASSUME_ST_INO_64_BIT == 0
if (__builtin_expect (!result, 1) && buf->__st_ino != (__ino_t) buf->st_ino)
buf->st_ino = buf->__st_ino;

View File

@ -29,7 +29,6 @@
#include <sysdep.h>
#include <sys/syscall.h>
#include <bp-checks.h>
#include <kernel-features.h>
#include <xstatconv.h>
@ -110,10 +109,10 @@ __fxstatat (int vers, int fd, const char *file, struct stat *st, int flag)
{
if (flag & AT_SYMLINK_NOFOLLOW)
result = INTERNAL_SYSCALL (lstat, err, 2, file,
CHECK_1 ((struct kernel_stat *) st));
(struct kernel_stat *) st);
else
result = INTERNAL_SYSCALL (stat, err, 2, file,
CHECK_1 ((struct kernel_stat *) st));
(struct kernel_stat *) st);
if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
return result;

View File

@ -25,7 +25,6 @@
#include <sysdep.h>
#include <sys/syscall.h>
#include <bp-checks.h>
#include <kernel-features.h>
@ -99,9 +98,9 @@ __fxstatat64 (int vers, int fd, const char *file, struct stat64 *st, int flag)
}
if (flag & AT_SYMLINK_NOFOLLOW)
result = INTERNAL_SYSCALL (lstat64, err, 2, file, CHECK_1 (st));
result = INTERNAL_SYSCALL (lstat64, err, 2, file, st);
else
result = INTERNAL_SYSCALL (stat64, err, 2, file, CHECK_1 (st));
result = INTERNAL_SYSCALL (stat64, err, 2, file, st);
if (__builtin_expect (!INTERNAL_SYSCALL_ERROR_P (result, err), 1))
{
# if defined _HAVE_STAT64___ST_INO && __ASSUME_ST_INO_64_BIT == 0

View File

@ -27,7 +27,6 @@
#include <sysdep.h>
#include <sys/syscall.h>
#include <bp-checks.h>
#include <kernel-features.h>
@ -40,7 +39,7 @@ __fxstat (int vers, int fd, struct stat *buf)
int result;
if (vers == _STAT_VER_KERNEL)
return INLINE_SYSCALL (fstat, 2, fd, CHECK_1 ((struct kernel_stat *) buf));
return INLINE_SYSCALL (fstat, 2, fd, (struct kernel_stat *) buf);
{
struct stat64 buf64;

View File

@ -29,7 +29,6 @@
#include <sysdep.h>
#include <sys/syscall.h>
#include <bp-checks.h>
#include <kernel-features.h>
@ -103,10 +102,10 @@ __fxstatat (int vers, int fd, const char *file, struct stat *st, int flag)
{
if (flag & AT_SYMLINK_NOFOLLOW)
result = INTERNAL_SYSCALL (lstat, err, 2, file,
CHECK_1 ((struct kernel_stat *) st));
(struct kernel_stat *) st);
else
result = INTERNAL_SYSCALL (stat, err, 2, file,
CHECK_1 ((struct kernel_stat *) st));
(struct kernel_stat *) st);
goto out;
}

View File

@ -23,15 +23,13 @@
#include <sysdep.h>
#include <sys/syscall.h>
#include <bp-checks.h>
/* Consider moving to syscalls.list. */
int
__getresgid (gid_t *rgid, gid_t *egid, gid_t *sgid)
{
return INLINE_SYSCALL (getresgid32, 3, CHECK_1 (rgid),
CHECK_1 (egid), CHECK_1 (sgid));
return INLINE_SYSCALL (getresgid32, 3, rgid, egid, sgid);
}
libc_hidden_def (__getresgid)
weak_alias (__getresgid, getresgid)

View File

@ -23,15 +23,13 @@
#include <sysdep.h>
#include <sys/syscall.h>
#include <bp-checks.h>
/* Consider moving to syscalls.list. */
int
__getresuid (uid_t *ruid, uid_t *euid, uid_t *suid)
{
return INLINE_SYSCALL (getresuid32, 3, CHECK_1 (ruid),
CHECK_1 (euid), CHECK_1 (suid));
return INLINE_SYSCALL (getresuid32, 3, ruid, euid, suid);
}
libc_hidden_def (__getresuid)
weak_alias (__getresuid, getresuid)

View File

@ -27,7 +27,6 @@
#include <sysdep.h>
#include <sys/syscall.h>
#include <bp-checks.h>
#include <kernel-features.h>
@ -41,7 +40,7 @@ __lxstat (int vers, const char *name, struct stat *buf)
int result;
if (vers == _STAT_VER_KERNEL)
return INLINE_SYSCALL (lstat, 2, name, CHECK_1 ((struct kernel_stat *) buf));
return INLINE_SYSCALL (lstat, 2, name, (struct kernel_stat *) buf);
{
struct stat64 buf64;

View File

@ -23,7 +23,6 @@
#include <sysdep.h>
#include <string.h>
#include <sys/syscall.h>
#include <bp-checks.h>
#include <shlib-compat.h>
@ -56,8 +55,7 @@ int
attribute_compat_text_section
__old_msgctl (int msqid, int cmd, struct __old_msqid_ds *buf)
{
return INLINE_SYSCALL (ipc, 5, IPCOP_msgctl,
msqid, cmd, 0, CHECK_1 (buf));
return INLINE_SYSCALL (ipc, 5, IPCOP_msgctl, msqid, cmd, 0, buf);
}
compat_symbol (libc, __old_msgctl, msgctl, GLIBC_2_0);
#endif
@ -66,7 +64,7 @@ int
__new_msgctl (int msqid, int cmd, struct msqid_ds *buf)
{
return INLINE_SYSCALL (ipc, 5, IPCOP_msgctl,
msqid, cmd | __IPC_64, 0, CHECK_1 (buf));
msqid, cmd | __IPC_64, 0, buf);
}
versioned_symbol (libc, __new_msgctl, msgctl, GLIBC_2_2);

View File

@ -22,7 +22,6 @@
#include <sysdep.h>
#include <sys/syscall.h>
#include <shlib-compat.h>
#include <bp-checks.h>
extern int __new_setrlimit (enum __rlimit_resource resource,
const struct rlimit *__unboundedrlimits);
@ -32,7 +31,7 @@ extern int __new_setrlimit (enum __rlimit_resource resource,
int
__new_setrlimit (enum __rlimit_resource resource, const struct rlimit *rlimits)
{
return INLINE_SYSCALL (setrlimit, 2, resource, CHECK_1 (rlimits));
return INLINE_SYSCALL (setrlimit, 2, resource, rlimits);
}
weak_alias (__new_setrlimit, __setrlimit);

View File

@ -24,7 +24,6 @@
#include <string.h>
#include <sys/syscall.h>
#include <bits/wordsize.h>
#include <bp-checks.h>
#include <shlib-compat.h>
@ -63,8 +62,7 @@ int
attribute_compat_text_section
__old_shmctl (int shmid, int cmd, struct __old_shmid_ds *buf)
{
return INLINE_SYSCALL (ipc, 5, IPCOP_shmctl,
shmid, cmd, 0, CHECK_1 (buf));
return INLINE_SYSCALL (ipc, 5, IPCOP_shmctl, shmid, cmd, 0, buf);
}
compat_symbol (libc, __old_shmctl, shmctl, GLIBC_2_0);
#endif
@ -73,7 +71,7 @@ int
__new_shmctl (int shmid, int cmd, struct shmid_ds *buf)
{
return INLINE_SYSCALL (ipc, 5, IPCOP_shmctl,
shmid, cmd | __IPC_64, 0, CHECK_1 (buf));
shmid, cmd | __IPC_64, 0, buf);
}
versioned_symbol (libc, __new_shmctl, shmctl, GLIBC_2_2);

View File

@ -27,7 +27,6 @@
#include <sysdep.h>
#include <sys/syscall.h>
#include <bp-checks.h>
#include <kernel-features.h>
@ -41,7 +40,7 @@ __xstat (int vers, const char *name, struct stat *buf)
int result;
if (vers == _STAT_VER_KERNEL)
return INLINE_SYSCALL (stat, 2, name, CHECK_1 ((struct kernel_stat *) buf));
return INLINE_SYSCALL (stat, 2, name, (struct kernel_stat *) buf);
{
struct stat64 buf64;

View File

@ -27,7 +27,6 @@
#include <sysdep.h>
#include <sys/syscall.h>
#include <bp-checks.h>
#include <xstatconv.h>
@ -36,8 +35,7 @@ int
__lxstat (int vers, const char *name, struct stat *buf)
{
if (vers == _STAT_VER_KERNEL)
return INLINE_SYSCALL (lstat, 2, name,
CHECK_1 ((struct kernel_stat *) buf));
return INLINE_SYSCALL (lstat, 2, name, (struct kernel_stat *) buf);
#ifdef STAT_IS_KERNEL_STAT
errno = EINVAL;

View File

@ -23,7 +23,6 @@
#include <sysdep.h>
#include <sys/syscall.h>
#include <bp-checks.h>
#include <kernel-features.h>
@ -32,7 +31,7 @@ int
___lxstat64 (int vers, const char *name, struct stat64 *buf)
{
int result;
result = INLINE_SYSCALL (lstat64, 2, name, CHECK_1 (buf));
result = INLINE_SYSCALL (lstat64, 2, name, buf);
#if defined _HAVE_STAT64___ST_INO && __ASSUME_ST_INO_64_BIT == 0
if (__builtin_expect (!result, 1) && buf->__st_ino != (__ino_t) buf->st_ino)
buf->st_ino = buf->__st_ino;

View File

@ -24,7 +24,6 @@
#include <string.h>
#include <sys/syscall.h>
#include <shlib-compat.h>
#include <bp-checks.h>
#include <kernel-features.h>
@ -57,7 +56,7 @@ int
attribute_compat_text_section
__old_msgctl (int msqid, int cmd, struct __old_msqid_ds *buf)
{
return INLINE_SYSCALL (ipc, 5, IPCOP_msgctl, msqid, cmd, 0, CHECK_1 (buf));
return INLINE_SYSCALL (ipc, 5, IPCOP_msgctl, msqid, cmd, 0, buf);
}
compat_symbol (libc, __old_msgctl, msgctl, GLIBC_2_0);
#endif
@ -67,7 +66,7 @@ __new_msgctl (int msqid, int cmd, struct msqid_ds *buf)
{
#if __ASSUME_IPC64 > 0
return INLINE_SYSCALL (ipc, 5, IPCOP_msgctl,
msqid, cmd | __IPC_64, 0, CHECK_1 (buf));
msqid, cmd | __IPC_64, 0, buf);
#else
switch (cmd) {
case MSG_STAT:
@ -76,7 +75,7 @@ __new_msgctl (int msqid, int cmd, struct msqid_ds *buf)
break;
default:
return INLINE_SYSCALL (ipc, 5, IPCOP_msgctl,
msqid, cmd, 0, CHECK_1 (buf));
msqid, cmd, 0, buf);
}
{
@ -86,7 +85,7 @@ __new_msgctl (int msqid, int cmd, struct msqid_ds *buf)
/* Unfortunately there is no way how to find out for sure whether
we should use old or new msgctl. */
result = INLINE_SYSCALL (ipc, 5, IPCOP_msgctl,
msqid, cmd | __IPC_64, 0, CHECK_1 (buf));
msqid, cmd | __IPC_64, 0, buf);
if (result != -1 || errno != EINVAL)
return result;

View File

@ -16,7 +16,6 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
#include <bp-checks.h>
#include <stddef.h>
#include <sys/time.h>
#include <time.h>
@ -33,7 +32,7 @@ __gettimeofday (tv, tz)
struct timeval *tv;
struct timezone *tz;
{
return INLINE_VSYSCALL (gettimeofday, 2, CHECK_1 (tv), CHECK_1 (tz));
return INLINE_VSYSCALL (gettimeofday, 2, tv, tz);
}
libc_hidden_def (__gettimeofday)
weak_alias (__gettimeofday, gettimeofday)

View File

@ -24,7 +24,6 @@
#include <sysdep.h>
#include <sys/syscall.h>
#include <bp-checks.h>
long int
ptrace (enum __ptrace_request request, ...)
@ -43,77 +42,6 @@ ptrace (enum __ptrace_request request, ...)
if (request > 0 && request < 4)
data = &ret;
#if __BOUNDED_POINTERS__
switch (request)
{
case PTRACE_PEEKTEXT:
case PTRACE_PEEKDATA:
case PTRACE_PEEKUSER:
case PTRACE_POKETEXT:
case PTRACE_POKEDATA:
case PTRACE_POKEUSER:
(void) CHECK_1 ((int *) addr);
(void) CHECK_1 ((int *) data);
break;
case PTRACE_GETREGS:
case PTRACE_SETREGS:
#ifdef __i386__
(void) CHECK_1 ((struct user_regs_struct *) data);
#else
/* We don't know the size of data, so the best we can do is ensure
that `data' is valid for at least one word. */
(void) CHECK_1 ((int *) data);
#endif
break;
case PTRACE_GETFPREGS:
case PTRACE_SETFPREGS:
#ifdef __i386__
(void) CHECK_1 ((struct user_fpregs_struct *) data);
#else
/* We don't know the size of data, so the best we can do is ensure
that `data' is valid for at least one word. */
(void) CHECK_1 ((int *) data);
#endif
break;
case PTRACE_GETFPXREGS:
case PTRACE_SETFPXREGS:
#ifdef __i386__
(void) CHECK_1 ((struct user_fpxregs_struct *) data);
#else
/* We don't know the size of data, so the best we can do is ensure
that `data' is valid for at least one word. */
(void) CHECK_1 ((int *) data);
#endif
break;
case PTRACE_GETSIGINFO:
case PTRACE_SETSIGINFO:
(void) CHECK_1 ((siginfo_t *) data);
break;
case PTRACE_GETEVENTMSG:
(void) CHECK_1 ((unsigned long *) data);
break;
case PTRACE_SETOPTIONS:
(void) CHECK_1 ((long *) data);
break;
case PTRACE_TRACEME:
case PTRACE_CONT:
case PTRACE_KILL:
case PTRACE_SINGLESTEP:
case PTRACE_ATTACH:
case PTRACE_DETACH:
case PTRACE_SYSCALL:
/* Neither `data' nor `addr' needs any checks. */
break;
};
#endif
res = INLINE_SYSCALL (ptrace, 4, request, pid,
__ptrvalue (addr), __ptrvalue (data));
if (res >= 0 && request > 0 && request < 4)

View File

@ -16,7 +16,6 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
#include <bp-checks.h>
#include <stddef.h>
#include <sys/time.h>
#include <time.h>
@ -33,7 +32,7 @@ __gettimeofday (tv, tz)
struct timeval *tv;
struct timezone *tz;
{
return INLINE_VSYSCALL (gettimeofday, 2, CHECK_1 (tv), CHECK_1 (tz));
return INLINE_VSYSCALL (gettimeofday, 2, tv, tz);
}
libc_hidden_def (__gettimeofday)
weak_alias (__gettimeofday, gettimeofday)

View File

@ -25,7 +25,6 @@
#include <sys/syscall.h>
#include <bits/wordsize.h>
#include <shlib-compat.h>
#include <bp-checks.h>
#include <kernel-features.h>
@ -64,8 +63,7 @@ int
attribute_compat_text_section
__old_shmctl (int shmid, int cmd, struct __old_shmid_ds *buf)
{
return INLINE_SYSCALL (ipc, 5, IPCOP_shmctl, shmid,
cmd, 0, CHECK_1_NULL_OK (buf));
return INLINE_SYSCALL (ipc, 5, IPCOP_shmctl, shmid, cmd, 0, buf);
}
compat_symbol (libc, __old_shmctl, shmctl, GLIBC_2_0);
#endif
@ -75,7 +73,7 @@ __new_shmctl (int shmid, int cmd, struct shmid_ds *buf)
{
#if __ASSUME_IPC64 > 0
return INLINE_SYSCALL (ipc, 5, IPCOP_shmctl, shmid, cmd | __IPC_64, 0,
CHECK_1 (buf));
buf);
#else
switch (cmd) {
case SHM_STAT:
@ -86,8 +84,7 @@ __new_shmctl (int shmid, int cmd, struct shmid_ds *buf)
#endif
break;
default:
return INLINE_SYSCALL (ipc, 5, IPCOP_shmctl, shmid, cmd, 0,
CHECK_1 (buf));
return INLINE_SYSCALL (ipc, 5, IPCOP_shmctl, shmid, cmd, 0, buf);
}
{
@ -101,7 +98,7 @@ __new_shmctl (int shmid, int cmd, struct shmid_ds *buf)
/* Unfortunately there is no way how to find out for sure whether
we should use old or new shmctl. */
result = INLINE_SYSCALL (ipc, 5, IPCOP_shmctl, shmid, cmd | __IPC_64, 0,
CHECK_1 (buf));
buf);
if (result != -1 || errno != EINVAL)
return result;

View File

@ -21,7 +21,6 @@
#include <sysdep-cancel.h>
#include <sys/syscall.h>
#include <bp-checks.h>
#ifdef __NR_rt_sigtimedwait
@ -52,7 +51,7 @@ do_sigtimedwait (const sigset_t *set, siginfo_t *info,
/* XXX The size argument hopefully will have to be changed to the
real size of the user-level sigset_t. */
int result = INLINE_SYSCALL (rt_sigtimedwait, 4, set,
CHECK_1 (info), timeout, _NSIG / 8);
info, timeout, _NSIG / 8);
/* The kernel generates a SI_TKILL code in si_code in case tkill is
used. tkill is transparently used in raise(). Since having

View File

@ -23,7 +23,6 @@
#include <sysdep-cancel.h>
#include <sys/syscall.h>
#include <bp-checks.h>
#ifdef __NR_rt_sigtimedwait
@ -53,7 +52,7 @@ do_sigwaitinfo (const sigset_t *set, siginfo_t *info)
/* XXX The size argument hopefully will have to be changed to the
real size of the user-level sigset_t. */
int result = INLINE_SYSCALL (rt_sigtimedwait, 4, set,
CHECK_1 (info), NULL, _NSIG / 8);
info, NULL, _NSIG / 8);
/* The kernel generates a SI_TKILL code in si_code in case tkill is
used. tkill is transparently used in raise(). Since having

View File

@ -22,7 +22,6 @@
#include <sysdep.h>
#include <sys/syscall.h>
#include <bp-checks.h>
/* Allows to control internal state and destruction of message queue
objects. */
@ -33,5 +32,5 @@ msgctl (msqid, cmd, buf)
int cmd;
struct msqid_ds *buf;
{
return INLINE_SYSCALL (ipc, 5, IPCOP_msgctl, msqid, cmd, 0, CHECK_1 (buf));
return INLINE_SYSCALL (ipc, 5, IPCOP_msgctl, msqid, cmd, 0, buf);
}

View File

@ -22,7 +22,6 @@
#include <sysdep.h>
#include <sys/syscall.h>
#include <bp-checks.h>
/* Provide operations to control over shared memory segments. */
@ -32,5 +31,5 @@ shmctl (shmid, cmd, buf)
int cmd;
struct shmid_ds *buf;
{
return INLINE_SYSCALL (ipc, 5, IPCOP_shmctl, shmid, cmd, 0, CHECK_1 (buf));
return INLINE_SYSCALL (ipc, 5, IPCOP_shmctl, shmid, cmd, 0, buf);
}

View File

@ -22,7 +22,6 @@
#include <sysdep.h>
#include <sys/syscall.h>
#include <bp-checks.h>
int
ustat (dev_t dev, struct ustat *ubuf)
@ -37,5 +36,5 @@ ustat (dev_t dev, struct ustat *ubuf)
return -1;
}
return INLINE_SYSCALL (ustat, 2, (unsigned int) k_dev, CHECK_1 (ubuf));
return INLINE_SYSCALL (ustat, 2, (unsigned int) k_dev, ubuf);
}

View File

@ -26,14 +26,13 @@
#include <sysdep.h>
#include <sys/syscall.h>
#include <bp-checks.h>
/* Get information about the file FD in BUF. */
int
__fxstat (int vers, int fd, struct stat *buf)
{
if (vers == _STAT_VER_KERNEL || vers == _STAT_VER_LINUX)
return INLINE_SYSCALL (fstat, 2, fd, CHECK_1 (buf));
return INLINE_SYSCALL (fstat, 2, fd, buf);
__set_errno (EINVAL);
return -1;

View File

@ -29,7 +29,6 @@
#include <sysdep.h>
#include <kernel-features.h>
#include <sys/syscall.h>
#include <bp-checks.h>
/* Get information about the file NAME relative to FD in ST. */
@ -95,9 +94,9 @@ __fxstatat (int vers, int fd, const char *file, struct stat *st, int flag)
INTERNAL_SYSCALL_DECL (err);
if (flag & AT_SYMLINK_NOFOLLOW)
res = INTERNAL_SYSCALL (lstat, err, 2, file, CHECK_1 (st));
res = INTERNAL_SYSCALL (lstat, err, 2, file, st);
else
res = INTERNAL_SYSCALL (stat, err, 2, file, CHECK_1 (st));
res = INTERNAL_SYSCALL (stat, err, 2, file, st);
if (__builtin_expect (INTERNAL_SYSCALL_ERROR_P (res, err), 0))
{

View File

@ -26,14 +26,13 @@
#include <sysdep.h>
#include <sys/syscall.h>
#include <bp-checks.h>
/* Get information about the file FD in BUF. */
int
__lxstat (int vers, const char *name, struct stat *buf)
{
if (vers == _STAT_VER_KERNEL || vers == _STAT_VER_LINUX)
return INLINE_SYSCALL (lstat, 2, name, CHECK_1 (buf));
return INLINE_SYSCALL (lstat, 2, name, buf);
__set_errno (EINVAL);
return -1;

View File

@ -26,14 +26,13 @@
#include <sysdep.h>
#include <sys/syscall.h>
#include <bp-checks.h>
/* Get information about the file NAME in BUF. */
int
__xstat (int vers, const char *name, struct stat *buf)
{
if (vers == _STAT_VER_KERNEL || vers == _STAT_VER_LINUX)
return INLINE_SYSCALL (stat, 2, name, CHECK_1 (buf));
return INLINE_SYSCALL (stat, 2, name, buf);
__set_errno (EINVAL);
return -1;

View File

@ -27,7 +27,6 @@
#include <sysdep.h>
#include <sys/syscall.h>
#include <bp-checks.h>
#include <xstatconv.h>
@ -36,8 +35,7 @@ int
__xstat (int vers, const char *name, struct stat *buf)
{
if (vers == _STAT_VER_KERNEL)
return INLINE_SYSCALL (stat, 2, name,
CHECK_1 ((struct kernel_stat *) buf));
return INLINE_SYSCALL (stat, 2, name, (struct kernel_stat *) buf);
#ifdef STAT_IS_KERNEL_STAT
errno = EINVAL;

View File

@ -23,7 +23,6 @@
#include <sysdep.h>
#include <sys/syscall.h>
#include <bp-checks.h>
#include <kernel-features.h>
@ -33,7 +32,7 @@ int
___xstat64 (int vers, const char *name, struct stat64 *buf)
{
int result;
result = INLINE_SYSCALL (stat64, 2, name, CHECK_1 (buf));
result = INLINE_SYSCALL (stat64, 2, name, buf);
#if defined _HAVE_STAT64___ST_INO && __ASSUME_ST_INO_64_BIT == 0
if (__builtin_expect (!result, 1) && buf->__st_ino != (__ino_t) buf->st_ino)
buf->st_ino = buf->__st_ino;