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.
(CHECK_BOUNDS_HIGH): Likewise.
+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.
+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]
+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]
+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
#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.
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)
#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>
#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>
#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. */
{
/* 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)
#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>
#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>
#include <sysdep.h>
#include <sys/syscall.h>
-#include <bp-checks.h>
int
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);
}
/* 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)
#include <sysdep.h>
#include <sys/syscall.h>
-#include <bp-checks.h>
#include <xstatconv.h>
__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;
#include <sysdep.h>
#include <sys/syscall.h>
-#include <bp-checks.h>
#include <kernel-features.h>
___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;
#include <sysdep.h>
#include <sys/syscall.h>
-#include <bp-checks.h>
#include <kernel-features.h>
#include <xstatconv.h>
{
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;
#include <sysdep.h>
#include <sys/syscall.h>
-#include <bp-checks.h>
#include <kernel-features.h>
}
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
#include <sysdep.h>
#include <sys/syscall.h>
-#include <bp-checks.h>
#include <kernel-features.h>
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;
#include <sysdep.h>
#include <sys/syscall.h>
-#include <bp-checks.h>
#include <kernel-features.h>
{
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;
}
#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)
#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)
#include <sysdep.h>
#include <sys/syscall.h>
-#include <bp-checks.h>
#include <kernel-features.h>
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;
#include <sysdep.h>
#include <string.h>
#include <sys/syscall.h>
-#include <bp-checks.h>
#include <shlib-compat.h>
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
__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);
#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);
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);
#include <string.h>
#include <sys/syscall.h>
#include <bits/wordsize.h>
-#include <bp-checks.h>
#include <shlib-compat.h>
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
__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);
#include <sysdep.h>
#include <sys/syscall.h>
-#include <bp-checks.h>
#include <kernel-features.h>
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;
#include <sysdep.h>
#include <sys/syscall.h>
-#include <bp-checks.h>
#include <xstatconv.h>
__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;
#include <sysdep.h>
#include <sys/syscall.h>
-#include <bp-checks.h>
#include <kernel-features.h>
___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;
#include <string.h>
#include <sys/syscall.h>
#include <shlib-compat.h>
-#include <bp-checks.h>
#include <kernel-features.h>
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
{
#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:
break;
default:
return INLINE_SYSCALL (ipc, 5, IPCOP_msgctl,
- msqid, cmd, 0, CHECK_1 (buf));
+ msqid, cmd, 0, 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;
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-checks.h>
#include <stddef.h>
#include <sys/time.h>
#include <time.h>
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)
#include <sysdep.h>
#include <sys/syscall.h>
-#include <bp-checks.h>
long int
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)
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
-#include <bp-checks.h>
#include <stddef.h>
#include <sys/time.h>
#include <time.h>
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)
#include <sys/syscall.h>
#include <bits/wordsize.h>
#include <shlib-compat.h>
-#include <bp-checks.h>
#include <kernel-features.h>
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
{
#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:
#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);
}
{
/* 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;
#include <sysdep-cancel.h>
#include <sys/syscall.h>
-#include <bp-checks.h>
#ifdef __NR_rt_sigtimedwait
/* 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
#include <sysdep-cancel.h>
#include <sys/syscall.h>
-#include <bp-checks.h>
#ifdef __NR_rt_sigtimedwait
/* 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
#include <sysdep.h>
#include <sys/syscall.h>
-#include <bp-checks.h>
/* Allows to control internal state and destruction of message queue
objects. */
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);
}
#include <sysdep.h>
#include <sys/syscall.h>
-#include <bp-checks.h>
/* Provide operations to control over shared memory segments. */
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);
}
#include <sysdep.h>
#include <sys/syscall.h>
-#include <bp-checks.h>
int
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);
}
#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;
#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. */
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))
{
#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;
#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;
#include <sysdep.h>
#include <sys/syscall.h>
-#include <bp-checks.h>
#include <xstatconv.h>
__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;
#include <sysdep.h>
#include <sys/syscall.h>
-#include <bp-checks.h>
#include <kernel-features.h>
___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;