diff options
-rw-r--r-- | ChangeLog | 32 | ||||
-rw-r--r-- | ports/ChangeLog.ia64 | 10 | ||||
-rw-r--r-- | ports/sysdeps/unix/sysv/linux/ia64/sigpending.c | 3 | ||||
-rw-r--r-- | ports/sysdeps/unix/sysv/linux/ia64/sigprocmask.c | 4 | ||||
-rw-r--r-- | sysdeps/generic/bp-checks.h | 7 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sigpending.c | 3 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sigprocmask.c | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sigsuspend.c | 3 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sigtimedwait.c | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sigwait.c | 6 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sigwaitinfo.c | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c | 3 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/sigpending.c | 3 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/sigprocmask.c | 4 |
15 files changed, 55 insertions, 35 deletions
diff --git a/ChangeLog b/ChangeLog index 5f7bf5499d..6ae0960edc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,38 @@ 2013-01-31 Joseph Myers <joseph@codesourcery.com> [BZ #13550] + * sysdeps/generic/bp-checks.h (CHECK_SIGSET): Remove both + definitions. + (CHECK_SIGSET_NULL_OK): Likewise. + * sysdeps/unix/sysv/linux/sigpending.c: Don't include + <bp-checks.h>. + (sigpending): Don't use CHECK_SIGSET. + * sysdeps/unix/sysv/linux/sigprocmask.c: Don't include + <bp-checks.h>. + (__sigprocmask): Don't use CHECK_SIGSET and CHECK_SIGSET_NULL_OK. + * sysdeps/unix/sysv/linux/sigsuspend.c: Don't include + <bp-checks.h>. + (do_sigsuspend): Don't use CHECK_SIGSET. + * sysdeps/unix/sysv/linux/sigtimedwait.c (do_sigtimedwait): Don't + use CHECK_SIGSET. + * sysdeps/unix/sysv/linux/sigwait.c: Don't include <bp-checks.h>. + (do_sigwait): Don't use CHECK_SIGSET. + * sysdeps/unix/sysv/linux/sigwaitinfo.c (do_sigwaitinfo): Don't + use CHECK_SIGSET. + * sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c: Don't + include <bp-checks.h>. + (sigpending): Don't use CHECK_SIGSET. + * sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c: Don't + include <bp-checks.h>. + (__sigprocmask): Don't use CHECK_SIGSET and CHECK_SIGSET_NULL_OK. + * sysdeps/unix/sysv/linux/x86_64/sigpending.c: Don't include + <bp-checks.h>. + (sigpending): Don't use CHECK_SIGSET. + * sysdeps/unix/sysv/linux/x86_64/sigprocmask.c: Don't include + <bp-checks.h>. + (__sigprocmask): Don't use CHECK_SIGSET and CHECK_SIGSET_NULL_OK. + + [BZ #13550] * sysdeps/generic/bp-semctl.h: Remove file. * sysdeps/unix/sysv/linux/i386/semctl.c: Don't include <bp-checks.h> and <bp-semctl.h>. diff --git a/ports/ChangeLog.ia64 b/ports/ChangeLog.ia64 index 28d5076750..4b76b4f6bf 100644 --- a/ports/ChangeLog.ia64 +++ b/ports/ChangeLog.ia64 @@ -1,3 +1,13 @@ +2013-01-31 Joseph Myers <joseph@codesourcery.com> + + [BZ #13550] + * sysdeps/unix/sysv/linux/ia64/sigpending.c: Don't include + <bp-checks.h>. + (sigpending): Don't use CHECK_SIGSET. + * sysdeps/unix/sysv/linux/ia64/sigprocmask.c: Don't include + <bp-checks.h>. + (__sigprocmask): Don't use CHECK_SIGSET and CHECK_SIGSET_NULL_OK. + 2013-01-02 Joseph Myers <joseph@codesourcery.com> * All files with FSF copyright notices: Update copyright dates diff --git a/ports/sysdeps/unix/sysv/linux/ia64/sigpending.c b/ports/sysdeps/unix/sysv/linux/ia64/sigpending.c index 9aac2b75c6..42fce5022a 100644 --- a/ports/sysdeps/unix/sysv/linux/ia64/sigpending.c +++ b/ports/sysdeps/unix/sysv/linux/ia64/sigpending.c @@ -24,7 +24,6 @@ #include <sysdep.h> #include <sys/syscall.h> -#include <bp-checks.h> /* Change the set of blocked signals to SET, wait until a signal arrives, and restore the set of blocked signals. */ @@ -34,5 +33,5 @@ sigpending (set) { /* XXX The size argument hopefully will have to be changed to the real size of the user-level sigset_t. */ - return INLINE_SYSCALL (rt_sigpending, 2, CHECK_SIGSET (set), _NSIG / 8); + return INLINE_SYSCALL (rt_sigpending, 2, set, _NSIG / 8); } diff --git a/ports/sysdeps/unix/sysv/linux/ia64/sigprocmask.c b/ports/sysdeps/unix/sysv/linux/ia64/sigprocmask.c index f074abc8a4..53b85800b2 100644 --- a/ports/sysdeps/unix/sysv/linux/ia64/sigprocmask.c +++ b/ports/sysdeps/unix/sysv/linux/ia64/sigprocmask.c @@ -26,7 +26,6 @@ #include <sysdep.h> #include <sys/syscall.h> -#include <bp-checks.h> /* Get and/or change the set of blocked signals. */ int @@ -38,7 +37,6 @@ __sigprocmask (how, set, oset) /* XXX The size argument hopefully will have to be changed to the real size of the user-level sigset_t. */ - return INLINE_SYSCALL (rt_sigprocmask, 4, how, CHECK_SIGSET (set), - CHECK_SIGSET_NULL_OK (oset), _NSIG / 8); + return INLINE_SYSCALL (rt_sigprocmask, 4, how, set, oset, _NSIG / 8); } weak_alias (__sigprocmask, sigprocmask) diff --git a/sysdeps/generic/bp-checks.h b/sysdeps/generic/bp-checks.h index a6bfbaaed5..8933778c3a 100644 --- a/sysdeps/generic/bp-checks.h +++ b/sysdeps/generic/bp-checks.h @@ -66,11 +66,6 @@ extern void *__unbounded __ubp_memchr (const void *__unbounded, int, unsigned); /* Same as CHECK_STRING, but tolerate ARG == NULL. */ # define CHECK_STRING_NULL_OK(ARG) _CHECK_STRING ((ARG), __ptrvalue (ARG)) -/* Check bounds of signal syscall args with type sigset_t. */ -# define CHECK_SIGSET(SET) CHECK_N ((SET), _NSIG / (8 * sizeof *(SET))) -/* Same as CHECK_SIGSET, but tolerate SET == NULL. */ -# define CHECK_SIGSET_NULL_OK(SET) CHECK_N_NULL_OK ((SET), _NSIG / (8 * sizeof *(SET))) - # if defined (_IOC_SIZESHIFT) && defined (_IOC_SIZEBITS) /* Extract the size of the ioctl data and check its bounds. */ # define CHECK_IOCTL(ARG, CMD) \ @@ -114,8 +109,6 @@ extern void *__unbounded __ubp_memchr (const void *__unbounded, int, unsigned); # define CHECK_N(ARG, N) (ARG) # define CHECK_N_NULL_OK(ARG, N) (ARG) # define CHECK_STRING(ARG) (ARG) -# define CHECK_SIGSET(SET) (SET) -# define CHECK_SIGSET_NULL_OK(SET) (SET) # define CHECK_IOCTL(ARG, CMD) (ARG) # define CHECK_FCNTL(ARG, CMD) (ARG) # define CHECK_N_PAGES(ARG, NBYTES) (ARG) diff --git a/sysdeps/unix/sysv/linux/sigpending.c b/sysdeps/unix/sysv/linux/sigpending.c index 74bb9094c1..56f581ea4f 100644 --- a/sysdeps/unix/sysv/linux/sigpending.c +++ b/sysdeps/unix/sysv/linux/sigpending.c @@ -21,7 +21,6 @@ #include <sysdep.h> #include <sys/syscall.h> -#include <bp-checks.h> #include <kernel-features.h> @@ -32,5 +31,5 @@ int sigpending (set) sigset_t *set; { - return INLINE_SYSCALL (rt_sigpending, 2, CHECK_SIGSET (set), _NSIG / 8); + return INLINE_SYSCALL (rt_sigpending, 2, set, _NSIG / 8); } diff --git a/sysdeps/unix/sysv/linux/sigprocmask.c b/sysdeps/unix/sysv/linux/sigprocmask.c index a40caf68a1..1af03c3cd2 100644 --- a/sysdeps/unix/sysv/linux/sigprocmask.c +++ b/sysdeps/unix/sysv/linux/sigprocmask.c @@ -22,7 +22,6 @@ #include <sysdep.h> #include <sys/syscall.h> -#include <bp-checks.h> #include <kernel-features.h> @@ -55,7 +54,6 @@ __sigprocmask (how, set, oset) } #endif - return INLINE_SYSCALL (rt_sigprocmask, 4, how, CHECK_SIGSET_NULL_OK (set), - CHECK_SIGSET_NULL_OK (oset), _NSIG / 8); + return INLINE_SYSCALL (rt_sigprocmask, 4, how, set, oset, _NSIG / 8); } weak_alias (__sigprocmask, sigprocmask) diff --git a/sysdeps/unix/sysv/linux/sigsuspend.c b/sysdeps/unix/sysv/linux/sigsuspend.c index 667ba415a3..992a422da3 100644 --- a/sysdeps/unix/sysv/linux/sigsuspend.c +++ b/sysdeps/unix/sysv/linux/sigsuspend.c @@ -21,7 +21,6 @@ #include <sysdep-cancel.h> #include <sys/syscall.h> -#include <bp-checks.h> #include <kernel-features.h> @@ -29,7 +28,7 @@ static inline int __attribute__ ((always_inline)) do_sigsuspend (const sigset_t *set) { - return INLINE_SYSCALL (rt_sigsuspend, 2, CHECK_SIGSET (set), _NSIG / 8); + return INLINE_SYSCALL (rt_sigsuspend, 2, set, _NSIG / 8); } /* Change the set of blocked signals to SET, diff --git a/sysdeps/unix/sysv/linux/sigtimedwait.c b/sysdeps/unix/sysv/linux/sigtimedwait.c index 283215e5bc..df14c2b5d6 100644 --- a/sysdeps/unix/sysv/linux/sigtimedwait.c +++ b/sysdeps/unix/sysv/linux/sigtimedwait.c @@ -51,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, CHECK_SIGSET (set), + int result = INLINE_SYSCALL (rt_sigtimedwait, 4, set, CHECK_1 (info), timeout, _NSIG / 8); /* The kernel generates a SI_TKILL code in si_code in case tkill is diff --git a/sysdeps/unix/sysv/linux/sigwait.c b/sysdeps/unix/sysv/linux/sigwait.c index aaea9d680a..9ea21d0776 100644 --- a/sysdeps/unix/sysv/linux/sigwait.c +++ b/sysdeps/unix/sysv/linux/sigwait.c @@ -23,7 +23,6 @@ #include <sysdep-cancel.h> #include <sys/syscall.h> -#include <bp-checks.h> #ifdef __NR_rt_sigtimedwait @@ -58,7 +57,7 @@ do_sigwait (const sigset_t *set, int *sig) #ifdef INTERNAL_SYSCALL INTERNAL_SYSCALL_DECL (err); do - ret = INTERNAL_SYSCALL (rt_sigtimedwait, err, 4, CHECK_SIGSET (set), + ret = INTERNAL_SYSCALL (rt_sigtimedwait, err, 4, set, NULL, NULL, _NSIG / 8); while (INTERNAL_SYSCALL_ERROR_P (ret, err) && INTERNAL_SYSCALL_ERRNO (ret, err) == EINTR); @@ -71,8 +70,7 @@ do_sigwait (const sigset_t *set, int *sig) ret = INTERNAL_SYSCALL_ERRNO (ret, err); #else do - ret = INLINE_SYSCALL (rt_sigtimedwait, 4, CHECK_SIGSET (set), - NULL, NULL, _NSIG / 8); + ret = INLINE_SYSCALL (rt_sigtimedwait, 4, set, NULL, NULL, _NSIG / 8); while (ret == -1 && errno == EINTR); if (ret != -1) { diff --git a/sysdeps/unix/sysv/linux/sigwaitinfo.c b/sysdeps/unix/sysv/linux/sigwaitinfo.c index bd85e95955..46afb46ef2 100644 --- a/sysdeps/unix/sysv/linux/sigwaitinfo.c +++ b/sysdeps/unix/sysv/linux/sigwaitinfo.c @@ -52,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, CHECK_SIGSET (set), + int result = INLINE_SYSCALL (rt_sigtimedwait, 4, set, CHECK_1 (info), NULL, _NSIG / 8); /* The kernel generates a SI_TKILL code in si_code in case tkill is diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c b/sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c index ca6ff69485..57d172d610 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/sigpending.c @@ -21,7 +21,6 @@ #include <sysdep.h> #include <sys/syscall.h> -#include <bp-checks.h> /* Change the set of blocked signals to SET, wait until a signal arrives, and restore the set of blocked signals. */ @@ -31,5 +30,5 @@ sigpending (set) { /* XXX The size argument hopefully will have to be changed to the real size of the user-level sigset_t. */ - return INLINE_SYSCALL (rt_sigpending, 2, CHECK_SIGSET (set), _NSIG / 8); + return INLINE_SYSCALL (rt_sigpending, 2, set, _NSIG / 8); } diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c b/sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c index 14cda4dd81..c7a30606fa 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/sigprocmask.c @@ -21,7 +21,6 @@ #include <sysdep.h> #include <sys/syscall.h> -#include <bp-checks.h> /* Get and/or change the set of blocked signals. */ int @@ -32,7 +31,6 @@ __sigprocmask (how, set, oset) { /* XXX The size argument hopefully will have to be changed to the real size of the user-level sigset_t. */ - return INLINE_SYSCALL (rt_sigprocmask, 4, how, CHECK_SIGSET (set), - CHECK_SIGSET_NULL_OK (oset), _NSIG / 8); + return INLINE_SYSCALL (rt_sigprocmask, 4, how, set, oset, _NSIG / 8); } weak_alias (__sigprocmask, sigprocmask) diff --git a/sysdeps/unix/sysv/linux/x86_64/sigpending.c b/sysdeps/unix/sysv/linux/x86_64/sigpending.c index 523fb39aa3..e68f77622c 100644 --- a/sysdeps/unix/sysv/linux/x86_64/sigpending.c +++ b/sysdeps/unix/sysv/linux/x86_64/sigpending.c @@ -24,7 +24,6 @@ #include <sysdep.h> #include <sys/syscall.h> -#include <bp-checks.h> /* Change the set of blocked signals to SET, wait until a signal arrives, and restore the set of blocked signals. */ @@ -34,5 +33,5 @@ sigpending (set) { /* XXX The size argument hopefully will have to be changed to the real size of the user-level sigset_t. */ - return INLINE_SYSCALL (rt_sigpending, 2, CHECK_SIGSET (set), _NSIG / 8); + return INLINE_SYSCALL (rt_sigpending, 2, set, _NSIG / 8); } diff --git a/sysdeps/unix/sysv/linux/x86_64/sigprocmask.c b/sysdeps/unix/sysv/linux/x86_64/sigprocmask.c index f755049ea9..6d12326db2 100644 --- a/sysdeps/unix/sysv/linux/x86_64/sigprocmask.c +++ b/sysdeps/unix/sysv/linux/x86_64/sigprocmask.c @@ -25,7 +25,6 @@ #include <sysdep.h> #include <sys/syscall.h> -#include <bp-checks.h> /* Get and/or change the set of blocked signals. */ int @@ -37,7 +36,6 @@ __sigprocmask (how, set, oset) /* XXX The size argument hopefully will have to be changed to the real size of the user-level sigset_t. */ - return INLINE_SYSCALL (rt_sigprocmask, 4, how, CHECK_SIGSET (set), - CHECK_SIGSET_NULL_OK (oset), _NSIG / 8); + return INLINE_SYSCALL (rt_sigprocmask, 4, how, set, oset, _NSIG / 8); } weak_alias (__sigprocmask, sigprocmask) |