mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-03 00:10:10 +00:00
Remove CHECK_N and bp-checks.h.
This commit is contained in:
parent
7f3e75f87a
commit
a2da1673fe
75
ChangeLog
75
ChangeLog
@ -1,3 +1,78 @@
|
||||
2013-02-08 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
[BZ #13550]
|
||||
* debug/segfault.c: Don't include <bp-checks.h>.
|
||||
* sysdeps/generic/bp-checks.h: Remove file.
|
||||
* sysdeps/unix/sysv/linux/getdents.c: Don't include <bp-checks.h>.
|
||||
(__GETDENTS): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/i386/brk.c: Don't include <bp-checks.h>.
|
||||
* sysdeps/unix/sysv/linux/i386/getgroups.c: Likewise.
|
||||
(__getgroups): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/i386/setgroups.c: Likewise.
|
||||
(setgroups): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/mmap64.c: Don't include <bp-checks.h>.
|
||||
* sysdeps/unix/sysv/linux/msgrcv.c: Likewise.
|
||||
(__libc_msgrcv): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/msgsnd.c: Don't include <bp-checks.h>.
|
||||
(__libc_msgsnd): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/powerpc/powerpc32/pread.c: Don't include
|
||||
<bp-checks.h>.
|
||||
(__libc_pread): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/powerpc/powerpc32/pread64.c: Don't
|
||||
include <bp-checks.h>.
|
||||
(__libc_pread64): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite.c: Don't
|
||||
include <bp-checks.h>.
|
||||
(__libc_pwrite): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/powerpc/powerpc32/pwrite64.c: Don't
|
||||
include <bp-checks.h>.
|
||||
(__libc_pwrite64): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/powerpc/powerpc64/pread.c: Don't include
|
||||
<bp-checks.h>.
|
||||
(__libc_pread): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/powerpc/powerpc64/pread64.c: Don't
|
||||
include <bp-checks.h>.
|
||||
(__libc_pread64): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite.c: Don't
|
||||
include <bp-checks.h>.
|
||||
(__libc_pwrite): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/powerpc/powerpc64/pwrite64.c: Don't
|
||||
include <bp-checks.h>.
|
||||
(__libc_pwrite64): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/pread.c: Don't include <bp-checks.h>.
|
||||
(do_pread): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/pread64.c: Don't include <bp-checks.h>.
|
||||
(do_pread64): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/pwrite.c: Don't include <bp-checks.h>.
|
||||
(do_pwrite): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/pwrite64.c: Don't include <bp-checks.h>.
|
||||
(do_pwrite64): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/readv.c: Don't include <bp-checks.h>.
|
||||
(__libc_readv): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/semop.c: Don't include <bp-checks.h>.
|
||||
(semop): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/semtimedop.c: Don't include
|
||||
<bp-checks.h>.
|
||||
(semtimedop): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/sh/pread.c: Don't include <bp-checks.h>.
|
||||
(__libc_pread): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/sh/pread64.c: Don't include
|
||||
<bp-checks.h>.
|
||||
(__libc_pread64): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/sh/pwrite.c: Don't include
|
||||
<bp-checks.h>.
|
||||
(__libc_pwrite): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/sh/pwrite64.c: Don't include
|
||||
<bp-checks.h>.
|
||||
(__libc_pwrite64): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/sparc/sparc64/msgrcv.c: Don't include
|
||||
<bp-checks.h>.
|
||||
(__libc_msgrcv): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/sysctl.c: Don't include <bp-checks.h>.
|
||||
(__sysctl): Don't use CHECK_N. Remove GKM FIXME comment.
|
||||
* sysdeps/unix/sysv/linux/writev.c: Don't include <bp-checks.h>.
|
||||
(__libc_writev): Don't use CHECK_N.
|
||||
|
||||
2013-02-08 Roland McGrath <roland@hack.frob.com>
|
||||
|
||||
* string/strcpy.c: Removed unused variable.
|
||||
|
@ -31,8 +31,6 @@
|
||||
#include <_itoa.h>
|
||||
#include <ldsodefs.h>
|
||||
|
||||
#include <bp-checks.h>
|
||||
|
||||
/* This file defines macros to access the content of the sigcontext element
|
||||
passed up by the signal handler. */
|
||||
#include <sigcontextinfo.h>
|
||||
|
@ -1,5 +1,11 @@
|
||||
2013-02-08 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
[BZ #13550]
|
||||
* sysdeps/unix/sysv/linux/alpha/fdatasync.c: Don't include
|
||||
<bp-checks.h>.
|
||||
* sysdeps/unix/sysv/linux/alpha/gethostname.c: Likewise.
|
||||
(__gethostname): Don't use CHECK_N.
|
||||
|
||||
[BZ #13550]
|
||||
* sysdeps/unix/sysv/linux/alpha/msgctl.c: Do not include
|
||||
<bp-checks.h>.
|
||||
|
@ -1,3 +1,19 @@
|
||||
2013-02-08 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
[BZ #13550]
|
||||
* sysdeps/unix/sysv/linux/arm/pread.c: Don't include
|
||||
<bp-checks.h>.
|
||||
(__libc_pread): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/arm/pread64.c: Don't include
|
||||
<bp-checks.h>.
|
||||
(__libc_pread64): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/arm/pwrite.c: Don't include
|
||||
<bp-checks.h>.
|
||||
(__libc_pwrite): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/arm/pwrite64.c: Don't include
|
||||
<bp-checks.h>.
|
||||
(__libc_pwrite64): Don't use CHECK_N.
|
||||
|
||||
2013-02-08 Carlos O'Donell <carlos@redhat.com>
|
||||
|
||||
[BZ #15006]
|
||||
|
@ -1,5 +1,20 @@
|
||||
2013-02-08 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
[BZ #13550]
|
||||
* sysdeps/unix/sysv/linux/mips/mips64/fxstat64.c: Don't include
|
||||
<bp-checks.h>.
|
||||
* sysdeps/unix/sysv/linux/mips/pread.c: Likewise.
|
||||
(__libc_pread): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/mips/pread64.c: Don't include
|
||||
<bp-checks.h>.
|
||||
(__libc_pread64): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/mips/pwrite.c: Don't include
|
||||
<bp-checks.h>.
|
||||
(__libc_pwrite): Don't use CHECK_N.
|
||||
* sysdeps/unix/sysv/linux/mips/pwrite64.c: Don't include
|
||||
<bp-checks.h>.
|
||||
(__libc_pwrite64): Don't use CHECK_N.
|
||||
|
||||
* sysdeps/mips/add_n.S (__mpn_add_n): Use END.
|
||||
* sysdeps/mips/bsd-_setjmp.S (_setjmp): Likewise.
|
||||
* sysdeps/mips/bsd-setjmp.S (setjmp): Likewise.
|
||||
|
@ -23,7 +23,6 @@
|
||||
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
#include <kernel-features.h>
|
||||
|
||||
|
@ -22,14 +22,13 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
int
|
||||
__gethostname (char *name, size_t len)
|
||||
{
|
||||
int result;
|
||||
|
||||
result = INLINE_SYSCALL (gethostname, 2, CHECK_N (name, len), len);
|
||||
result = INLINE_SYSCALL (gethostname, 2, name, len);
|
||||
|
||||
if (result == 0
|
||||
/* See whether the string is terminated. If not we will return
|
||||
|
@ -22,7 +22,6 @@
|
||||
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
ssize_t
|
||||
__libc_pread (fd, buf, count, offset)
|
||||
@ -37,7 +36,7 @@ __libc_pread (fd, buf, count, offset)
|
||||
{
|
||||
/* In the ARM EABI, 64-bit values are aligned to even/odd register
|
||||
pairs for syscalls. */
|
||||
result = INLINE_SYSCALL (pread64, 6, fd, CHECK_N (buf, count), count, 0,
|
||||
result = INLINE_SYSCALL (pread64, 6, fd, buf, count, 0,
|
||||
__LONG_LONG_PAIR (offset >> 31, offset));
|
||||
|
||||
return result;
|
||||
@ -47,7 +46,7 @@ __libc_pread (fd, buf, count, offset)
|
||||
|
||||
/* In the ARM EABI, 64-bit values are aligned to even/odd register
|
||||
pairs for syscalls. */
|
||||
result = INLINE_SYSCALL (pread64, 6, fd, CHECK_N (buf, count), count, 0,
|
||||
result = INLINE_SYSCALL (pread64, 6, fd, buf, count, 0,
|
||||
__LONG_LONG_PAIR (offset >> 31, offset));
|
||||
|
||||
LIBC_CANCEL_RESET (oldtype);
|
||||
|
@ -22,7 +22,6 @@
|
||||
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
ssize_t
|
||||
__libc_pread64 (fd, buf, count, offset)
|
||||
@ -37,7 +36,7 @@ __libc_pread64 (fd, buf, count, offset)
|
||||
{
|
||||
/* In the ARM EABI, 64-bit values are aligned to even/odd register
|
||||
pairs for syscalls. */
|
||||
result = INLINE_SYSCALL (pread64, 6, fd, CHECK_N (buf, count), count, 0,
|
||||
result = INLINE_SYSCALL (pread64, 6, fd, buf, count, 0,
|
||||
__LONG_LONG_PAIR ((off_t) (offset >> 32),
|
||||
(off_t) (offset & 0xffffffff)));
|
||||
|
||||
@ -48,7 +47,7 @@ __libc_pread64 (fd, buf, count, offset)
|
||||
|
||||
/* In the ARM EABI, 64-bit values are aligned to even/odd register
|
||||
pairs for syscalls. */
|
||||
result = INLINE_SYSCALL (pread64, 6, fd, CHECK_N (buf, count), count, 0,
|
||||
result = INLINE_SYSCALL (pread64, 6, fd, buf, count, 0,
|
||||
__LONG_LONG_PAIR ((off_t) (offset >> 32),
|
||||
(off_t) (offset & 0xffffffff)));
|
||||
|
||||
|
@ -22,7 +22,6 @@
|
||||
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
ssize_t
|
||||
__libc_pwrite (fd, buf, count, offset)
|
||||
@ -37,7 +36,7 @@ __libc_pwrite (fd, buf, count, offset)
|
||||
{
|
||||
/* In the ARM EABI, 64-bit values are aligned to even/odd register
|
||||
pairs for syscalls. */
|
||||
result = INLINE_SYSCALL (pwrite64, 6, fd, CHECK_N (buf, count), count, 0,
|
||||
result = INLINE_SYSCALL (pwrite64, 6, fd, buf, count, 0,
|
||||
__LONG_LONG_PAIR (offset >> 31, offset));
|
||||
|
||||
return result;
|
||||
@ -47,7 +46,7 @@ __libc_pwrite (fd, buf, count, offset)
|
||||
|
||||
/* In the ARM EABI, 64-bit values are aligned to even/odd register
|
||||
pairs for syscalls. */
|
||||
result = INLINE_SYSCALL (pwrite64, 6, fd, CHECK_N (buf, count), count, 0,
|
||||
result = INLINE_SYSCALL (pwrite64, 6, fd, buf, count, 0,
|
||||
__LONG_LONG_PAIR (offset >> 31, offset));
|
||||
|
||||
LIBC_CANCEL_RESET (oldtype);
|
||||
|
@ -22,7 +22,6 @@
|
||||
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
ssize_t
|
||||
__libc_pwrite64 (fd, buf, count, offset)
|
||||
@ -37,7 +36,7 @@ __libc_pwrite64 (fd, buf, count, offset)
|
||||
{
|
||||
/* In the ARM EABI, 64-bit values are aligned to even/odd register
|
||||
pairs for syscalls. */
|
||||
result = INLINE_SYSCALL (pwrite64, 6, fd, CHECK_N (buf, count), count, 0,
|
||||
result = INLINE_SYSCALL (pwrite64, 6, fd, buf, count, 0,
|
||||
__LONG_LONG_PAIR ((off_t) (offset >> 32),
|
||||
(off_t) (offset & 0xffffffff)));
|
||||
|
||||
@ -48,7 +47,7 @@ __libc_pwrite64 (fd, buf, count, offset)
|
||||
|
||||
/* In the ARM EABI, 64-bit values are aligned to even/odd register
|
||||
pairs for syscalls. */
|
||||
result = INLINE_SYSCALL (pwrite64, 6, fd, CHECK_N (buf, count), count, 0,
|
||||
result = INLINE_SYSCALL (pwrite64, 6, fd, buf, count, 0,
|
||||
__LONG_LONG_PAIR ((off_t) (offset >> 32),
|
||||
(off_t) (offset & 0xffffffff)));
|
||||
|
||||
|
@ -23,7 +23,6 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
#include <xstatconv.h>
|
||||
|
||||
|
@ -26,7 +26,6 @@
|
||||
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
#include <kernel-features.h>
|
||||
|
||||
@ -54,10 +53,9 @@ __libc_pread (fd, buf, count, offset)
|
||||
if (SINGLE_THREAD_P)
|
||||
{
|
||||
#if _MIPS_SIM == _ABIN32 || _MIPS_SIM == _ABI64
|
||||
result = INLINE_SYSCALL (pread, 4, fd, CHECK_N (buf, count), count,
|
||||
offset);
|
||||
result = INLINE_SYSCALL (pread, 4, fd, buf, count, offset);
|
||||
#else
|
||||
result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), count, 0,
|
||||
result = INLINE_SYSCALL (pread, 6, fd, buf, count, 0,
|
||||
__LONG_LONG_PAIR (offset >> 31, offset));
|
||||
#endif
|
||||
return result;
|
||||
@ -66,9 +64,9 @@ __libc_pread (fd, buf, count, offset)
|
||||
int oldtype = LIBC_CANCEL_ASYNC ();
|
||||
|
||||
#if _MIPS_SIM == _ABIN32 || _MIPS_SIM == _ABI64
|
||||
result = INLINE_SYSCALL (pread, 4, fd, CHECK_N (buf, count), count, offset);
|
||||
result = INLINE_SYSCALL (pread, 4, fd, buf, count, offset);
|
||||
#else
|
||||
result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), count, 0,
|
||||
result = INLINE_SYSCALL (pread, 6, fd, buf, count, 0,
|
||||
__LONG_LONG_PAIR (offset >> 31, offset));
|
||||
#endif
|
||||
|
||||
|
@ -25,7 +25,6 @@
|
||||
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
#include <kernel-features.h>
|
||||
|
||||
@ -50,10 +49,9 @@ __libc_pread64 (fd, buf, count, offset)
|
||||
if (SINGLE_THREAD_P)
|
||||
{
|
||||
#if _MIPS_SIM == _ABIN32 || _MIPS_SIM == _ABI64
|
||||
result = INLINE_SYSCALL (pread, 4, fd, CHECK_N (buf, count), count,
|
||||
offset);
|
||||
result = INLINE_SYSCALL (pread, 4, fd, buf, count, offset);
|
||||
#else
|
||||
result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), count, 0,
|
||||
result = INLINE_SYSCALL (pread, 6, fd, buf, count, 0,
|
||||
__LONG_LONG_PAIR ((off_t) (offset >> 32),
|
||||
(off_t) (offset & 0xffffffff)));
|
||||
#endif
|
||||
@ -63,9 +61,9 @@ __libc_pread64 (fd, buf, count, offset)
|
||||
int oldtype = LIBC_CANCEL_ASYNC ();
|
||||
|
||||
#if _MIPS_SIM == _ABIN32 || _MIPS_SIM == _ABI64
|
||||
result = INLINE_SYSCALL (pread, 4, fd, CHECK_N (buf, count), count, offset);
|
||||
result = INLINE_SYSCALL (pread, 4, fd, buf, count, offset);
|
||||
#else
|
||||
result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), count, 0,
|
||||
result = INLINE_SYSCALL (pread, 6, fd, buf, count, 0,
|
||||
__LONG_LONG_PAIR ((off_t) (offset >> 32),
|
||||
(off_t) (offset & 0xffffffff)));
|
||||
#endif
|
||||
|
@ -26,7 +26,6 @@
|
||||
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
#include <kernel-features.h>
|
||||
|
||||
@ -54,10 +53,9 @@ __libc_pwrite (fd, buf, count, offset)
|
||||
if (SINGLE_THREAD_P)
|
||||
{
|
||||
#if _MIPS_SIM == _ABIN32 || _MIPS_SIM == _ABI64
|
||||
result = INLINE_SYSCALL (pwrite, 4, fd, CHECK_N (buf, count), count,
|
||||
offset);
|
||||
result = INLINE_SYSCALL (pwrite, 4, fd, buf, count, offset);
|
||||
#else
|
||||
result = INLINE_SYSCALL (pwrite, 6, fd, CHECK_N (buf, count), count, 0,
|
||||
result = INLINE_SYSCALL (pwrite, 6, fd, buf, count, 0,
|
||||
__LONG_LONG_PAIR (offset >> 31, offset));
|
||||
#endif
|
||||
return result;
|
||||
@ -66,9 +64,9 @@ __libc_pwrite (fd, buf, count, offset)
|
||||
int oldtype = LIBC_CANCEL_ASYNC ();
|
||||
|
||||
#if _MIPS_SIM == _ABIN32 || _MIPS_SIM == _ABI64
|
||||
result = INLINE_SYSCALL (pwrite, 4, fd, CHECK_N (buf, count), count, offset);
|
||||
result = INLINE_SYSCALL (pwrite, 4, fd, buf, count, offset);
|
||||
#else
|
||||
result = INLINE_SYSCALL (pwrite, 6, fd, CHECK_N (buf, count), count, 0,
|
||||
result = INLINE_SYSCALL (pwrite, 6, fd, buf, count, 0,
|
||||
__LONG_LONG_PAIR (offset >> 31, offset));
|
||||
#endif
|
||||
|
||||
|
@ -25,7 +25,6 @@
|
||||
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
#include <kernel-features.h>
|
||||
|
||||
@ -49,10 +48,9 @@ __libc_pwrite64 (fd, buf, count, offset)
|
||||
if (SINGLE_THREAD_P)
|
||||
{
|
||||
#if _MIPS_SIM == _ABIN32 || _MIPS_SIM == _ABI64
|
||||
result = INLINE_SYSCALL (pwrite, 4, fd, CHECK_N (buf, count), count,
|
||||
offset);
|
||||
result = INLINE_SYSCALL (pwrite, 4, fd, buf, count, offset);
|
||||
#else
|
||||
result = INLINE_SYSCALL (pwrite, 6, fd, CHECK_N (buf, count), count, 0,
|
||||
result = INLINE_SYSCALL (pwrite, 6, fd, buf, count, 0,
|
||||
__LONG_LONG_PAIR ((off_t) (offset >> 32),
|
||||
(off_t) (offset & 0xffffffff)));
|
||||
#endif
|
||||
@ -63,9 +61,9 @@ __libc_pwrite64 (fd, buf, count, offset)
|
||||
int oldtype = LIBC_CANCEL_ASYNC ();
|
||||
|
||||
#if _MIPS_SIM == _ABIN32 || _MIPS_SIM == _ABI64
|
||||
result = INLINE_SYSCALL (pwrite, 4, fd, CHECK_N (buf, count), count, offset);
|
||||
result = INLINE_SYSCALL (pwrite, 4, fd, buf, count, offset);
|
||||
#else
|
||||
result = INLINE_SYSCALL (pwrite, 6, fd, CHECK_N (buf, count), count, 0,
|
||||
result = INLINE_SYSCALL (pwrite, 6, fd, buf, count, 0,
|
||||
__LONG_LONG_PAIR ((off_t) (offset >> 32),
|
||||
(off_t) (offset & 0xffffffff)));
|
||||
#endif
|
||||
|
@ -1,49 +0,0 @@
|
||||
/* Bounded-pointer checking macros for C.
|
||||
Copyright (C) 2000-2013 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Greg McGary <greg@mcgary.org>
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _bp_checks_h_
|
||||
#define _bp_checks_h_ 1
|
||||
|
||||
#if __BOUNDED_POINTERS__
|
||||
|
||||
# define BOUNDS_VIOLATED (__builtin_trap (), 0)
|
||||
|
||||
# define _CHECK_N(ARG, N, COND) \
|
||||
(((COND) \
|
||||
&& (__ptrvalue (ARG) < __ptrlow (ARG) \
|
||||
|| __ptrvalue (ARG) + (N) > __ptrhigh (ARG)) \
|
||||
&& BOUNDS_VIOLATED), \
|
||||
__ptrvalue (ARG))
|
||||
|
||||
/* Check bounds of a pointer seated to an array of N objects. */
|
||||
# define CHECK_N(ARG, N) _CHECK_N ((ARG), (N), 1)
|
||||
/* Same as CHECK_N, but tolerate ARG == NULL. */
|
||||
# define CHECK_N_NULL_OK(ARG, N) _CHECK_N ((ARG), (N), __ptrvalue (ARG))
|
||||
|
||||
#else /* !__BOUNDED_POINTERS__ */
|
||||
|
||||
/* Do nothing if not compiling with -fbounded-pointers. */
|
||||
|
||||
# define BOUNDS_VIOLATED
|
||||
# define CHECK_N(ARG, N) (ARG)
|
||||
# define CHECK_N_NULL_OK(ARG, N) (ARG)
|
||||
|
||||
#endif /* !__BOUNDED_POINTERS__ */
|
||||
|
||||
#endif /* _bp_checks_h_ */
|
@ -28,7 +28,6 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
#include <linux/posix_types.h>
|
||||
|
||||
@ -109,7 +108,7 @@ __GETDENTS (int fd, char *buf, size_t nbytes)
|
||||
&& (offsetof (struct kernel_dirent, d_reclen)
|
||||
== offsetof (struct dirent, d_reclen)))
|
||||
{
|
||||
retval = INLINE_SYSCALL (getdents, 3, fd, CHECK_N(buf, nbytes), nbytes);
|
||||
retval = INLINE_SYSCALL (getdents, 3, fd, buf, nbytes);
|
||||
|
||||
/* The kernel added the d_type value after the name. Change
|
||||
this now. */
|
||||
@ -158,8 +157,7 @@ __GETDENTS (int fd, char *buf, size_t nbytes)
|
||||
- offsetof (DIRENT_TYPE, d_name);
|
||||
kbuf = __alloca(kbytes);
|
||||
}
|
||||
retval = INLINE_SYSCALL (getdents64, 3, fd, CHECK_N(kbuf, kbytes),
|
||||
kbytes);
|
||||
retval = INLINE_SYSCALL (getdents64, 3, fd, kbuf, kbytes);
|
||||
# ifndef __ASSUME_GETDENTS64_SYSCALL
|
||||
if (retval != -1 || (errno != EINVAL && errno != ENOSYS))
|
||||
# endif
|
||||
@ -255,8 +253,7 @@ __GETDENTS (int fd, char *buf, size_t nbytes)
|
||||
|
||||
skdp = kdp = __alloca (red_nbytes);
|
||||
|
||||
retval = INLINE_SYSCALL (getdents, 3, fd,
|
||||
CHECK_N ((char *) kdp, red_nbytes), red_nbytes);
|
||||
retval = INLINE_SYSCALL (getdents, 3, fd, (char *) kdp, red_nbytes);
|
||||
|
||||
if (retval == -1)
|
||||
return -1;
|
||||
|
@ -20,8 +20,6 @@
|
||||
#include <unistd.h>
|
||||
#include <sysdep.h>
|
||||
|
||||
#include <bp-checks.h>
|
||||
|
||||
/* This must be initialized data because commons can't have aliases. */
|
||||
void *__curbrk = 0;
|
||||
|
||||
|
@ -22,7 +22,6 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
#include <linux/posix_types.h>
|
||||
|
||||
@ -34,7 +33,7 @@
|
||||
int
|
||||
__getgroups (int n, gid_t *groups)
|
||||
{
|
||||
return INLINE_SYSCALL (getgroups32, 2, n, CHECK_N (groups, n));
|
||||
return INLINE_SYSCALL (getgroups32, 2, n, groups);
|
||||
}
|
||||
|
||||
weak_alias (__getgroups, getgroups)
|
||||
|
@ -22,7 +22,6 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
#include <setxid.h>
|
||||
#include <linux/posix_types.h>
|
||||
@ -33,6 +32,6 @@
|
||||
int
|
||||
setgroups (size_t n, const gid_t *groups)
|
||||
{
|
||||
return INLINE_SETXID_SYSCALL (setgroups32, 2, n, CHECK_N (groups, n));
|
||||
return INLINE_SETXID_SYSCALL (setgroups32, 2, n, groups);
|
||||
}
|
||||
libc_hidden_def (setgroups)
|
||||
|
@ -22,7 +22,6 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
#include <kernel-features.h>
|
||||
|
||||
|
@ -23,8 +23,6 @@
|
||||
#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
|
||||
@ -46,7 +44,7 @@ __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)
|
||||
|
@ -23,8 +23,6 @@
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
|
||||
#include <bp-checks.h>
|
||||
|
||||
int
|
||||
__libc_msgsnd (msqid, msgp, msgsz, msgflg)
|
||||
int msqid;
|
||||
@ -34,12 +32,12 @@ __libc_msgsnd (msqid, msgp, msgsz, msgflg)
|
||||
{
|
||||
if (SINGLE_THREAD_P)
|
||||
return INLINE_SYSCALL (ipc, 5, IPCOP_msgsnd, msqid, msgsz,
|
||||
msgflg, (void *) CHECK_N (msgp, msgsz));
|
||||
msgflg, (void *) msgp);
|
||||
|
||||
int oldtype = LIBC_CANCEL_ASYNC ();
|
||||
|
||||
int result = INLINE_SYSCALL (ipc, 5, IPCOP_msgsnd, msqid, msgsz,
|
||||
msgflg, (void *) CHECK_N (msgp, msgsz));
|
||||
msgflg, (void *) msgp);
|
||||
|
||||
LIBC_CANCEL_RESET (oldtype);
|
||||
|
||||
|
@ -22,7 +22,6 @@
|
||||
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
#include <kernel-features.h>
|
||||
|
||||
@ -38,7 +37,7 @@ __libc_pread (fd, buf, count, offset)
|
||||
if (SINGLE_THREAD_P)
|
||||
{
|
||||
/* On PPC32 64bit values are aligned in odd/even register pairs. */
|
||||
result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), count,
|
||||
result = INLINE_SYSCALL (pread, 6, fd, buf, count,
|
||||
0, offset >> 31, offset);
|
||||
|
||||
return result;
|
||||
@ -47,7 +46,7 @@ __libc_pread (fd, buf, count, offset)
|
||||
int oldtype = LIBC_CANCEL_ASYNC ();
|
||||
|
||||
/* On PPC32 64bit values are aligned in odd/even register pairs. */
|
||||
result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), count,
|
||||
result = INLINE_SYSCALL (pread, 6, fd, buf, count,
|
||||
0, offset >> 31, offset);
|
||||
|
||||
LIBC_CANCEL_RESET (oldtype);
|
||||
|
@ -21,7 +21,6 @@
|
||||
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
#include <kernel-features.h>
|
||||
|
||||
@ -38,7 +37,7 @@ __libc_pread64 (fd, buf, count, offset)
|
||||
if (SINGLE_THREAD_P)
|
||||
{
|
||||
/* On PPC32 64bit values are aligned in odd/even register pairs. */
|
||||
result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), count,
|
||||
result = INLINE_SYSCALL (pread, 6, fd, buf, count,
|
||||
0, (long) (offset >> 32),
|
||||
(long) offset);
|
||||
|
||||
@ -48,7 +47,7 @@ __libc_pread64 (fd, buf, count, offset)
|
||||
int oldtype = LIBC_CANCEL_ASYNC ();
|
||||
|
||||
/* On PPC32 64bit values are aligned in odd/even register pairs. */
|
||||
result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), count,
|
||||
result = INLINE_SYSCALL (pread, 6, fd, buf, count,
|
||||
0, (long) (offset >> 32),
|
||||
(long) offset);
|
||||
|
||||
|
@ -22,7 +22,6 @@
|
||||
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
#include <kernel-features.h>
|
||||
|
||||
@ -39,7 +38,7 @@ __libc_pwrite (fd, buf, count, offset)
|
||||
if (SINGLE_THREAD_P)
|
||||
{
|
||||
/* On PPC32 64bit values are aligned in odd/even register pairs. */
|
||||
result = INLINE_SYSCALL (pwrite, 6, fd, CHECK_N (buf, count), count,
|
||||
result = INLINE_SYSCALL (pwrite, 6, fd, buf, count,
|
||||
0, offset >> 31, offset);
|
||||
|
||||
return result;
|
||||
@ -48,7 +47,7 @@ __libc_pwrite (fd, buf, count, offset)
|
||||
int oldtype = LIBC_CANCEL_ASYNC ();
|
||||
|
||||
/* On PPC32 64bit values are aligned in odd/even register pairs. */
|
||||
result = INLINE_SYSCALL (pwrite, 6, fd, CHECK_N (buf, count), count,
|
||||
result = INLINE_SYSCALL (pwrite, 6, fd, buf, count,
|
||||
0, offset >> 31, offset);
|
||||
|
||||
LIBC_CANCEL_RESET (oldtype);
|
||||
|
@ -21,7 +21,6 @@
|
||||
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
#include <kernel-features.h>
|
||||
|
||||
@ -38,7 +37,7 @@ __libc_pwrite64 (fd, buf, count, offset)
|
||||
if (SINGLE_THREAD_P)
|
||||
{
|
||||
/* On PPC32 64bit values are aligned in odd/even register pairs. */
|
||||
result = INLINE_SYSCALL (pwrite, 6, fd, CHECK_N (buf, count), count,
|
||||
result = INLINE_SYSCALL (pwrite, 6, fd, buf, count,
|
||||
0, (long) (offset >> 32),
|
||||
(long) offset);
|
||||
|
||||
@ -48,7 +47,7 @@ __libc_pwrite64 (fd, buf, count, offset)
|
||||
int oldtype = LIBC_CANCEL_ASYNC ();
|
||||
|
||||
/* On PPC32 64bit values are aligned in odd/even register pairs. */
|
||||
result = INLINE_SYSCALL (pwrite, 6, fd, CHECK_N (buf, count), count,
|
||||
result = INLINE_SYSCALL (pwrite, 6, fd, buf, count,
|
||||
0, (long) (offset >> 32),
|
||||
(long) offset);
|
||||
|
||||
|
@ -22,7 +22,6 @@
|
||||
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
#include <kernel-features.h>
|
||||
|
||||
@ -40,16 +39,14 @@ __libc_pread (fd, buf, count, offset)
|
||||
|
||||
if (SINGLE_THREAD_P)
|
||||
{
|
||||
result = INLINE_SYSCALL (pread, 4, fd, CHECK_N (buf, count), count,
|
||||
offset);
|
||||
result = INLINE_SYSCALL (pread, 4, fd, buf, count, offset);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
int oldtype = LIBC_CANCEL_ASYNC ();
|
||||
|
||||
result = INLINE_SYSCALL (pread, 4, fd, CHECK_N (buf, count), count,
|
||||
offset);
|
||||
result = INLINE_SYSCALL (pread, 4, fd, buf, count, offset);
|
||||
|
||||
LIBC_CANCEL_RESET (oldtype);
|
||||
|
||||
|
@ -21,7 +21,6 @@
|
||||
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
#include <kernel-features.h>
|
||||
|
||||
@ -39,16 +38,14 @@ __libc_pread64 (fd, buf, count, offset)
|
||||
|
||||
if (SINGLE_THREAD_P)
|
||||
{
|
||||
result = INLINE_SYSCALL (pread, 4, fd, CHECK_N (buf, count), count,
|
||||
offset);
|
||||
result = INLINE_SYSCALL (pread, 4, fd, buf, count, offset);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
int oldtype = LIBC_CANCEL_ASYNC ();
|
||||
|
||||
result = INLINE_SYSCALL (pread, 4, fd, CHECK_N (buf, count), count,
|
||||
offset);
|
||||
result = INLINE_SYSCALL (pread, 4, fd, buf, count, offset);
|
||||
|
||||
LIBC_CANCEL_RESET (oldtype);
|
||||
|
||||
|
@ -22,7 +22,6 @@
|
||||
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
#include <kernel-features.h>
|
||||
|
||||
@ -40,16 +39,14 @@ __libc_pwrite (fd, buf, count, offset)
|
||||
|
||||
if (SINGLE_THREAD_P)
|
||||
{
|
||||
result = INLINE_SYSCALL (pwrite, 4, fd, CHECK_N (buf, count), count,
|
||||
offset);
|
||||
result = INLINE_SYSCALL (pwrite, 4, fd, buf, count, offset);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
int oldtype = LIBC_CANCEL_ASYNC ();
|
||||
|
||||
result = INLINE_SYSCALL (pwrite, 4, fd, CHECK_N (buf, count), count,
|
||||
offset);
|
||||
result = INLINE_SYSCALL (pwrite, 4, fd, buf, count, offset);
|
||||
|
||||
LIBC_CANCEL_RESET (oldtype);
|
||||
|
||||
|
@ -21,7 +21,6 @@
|
||||
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
#include <kernel-features.h>
|
||||
|
||||
@ -39,16 +38,14 @@ __libc_pwrite64 (fd, buf, count, offset)
|
||||
|
||||
if (SINGLE_THREAD_P)
|
||||
{
|
||||
result = INLINE_SYSCALL (pwrite, 4, fd, CHECK_N (buf, count), count,
|
||||
offset);
|
||||
result = INLINE_SYSCALL (pwrite, 4, fd, buf, count, offset);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
int oldtype = LIBC_CANCEL_ASYNC ();
|
||||
|
||||
result = INLINE_SYSCALL (pwrite, 4, fd, CHECK_N (buf, count), count,
|
||||
offset);
|
||||
result = INLINE_SYSCALL (pwrite, 4, fd, buf, count, offset);
|
||||
|
||||
LIBC_CANCEL_RESET (oldtype);
|
||||
|
||||
|
@ -23,7 +23,6 @@
|
||||
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
#include <kernel-features.h>
|
||||
|
||||
@ -44,7 +43,7 @@ do_pread (int fd, void *buf, size_t count, off_t offset)
|
||||
ssize_t result;
|
||||
|
||||
assert (sizeof (offset) == 4);
|
||||
result = INLINE_SYSCALL (pread, 5, fd, CHECK_N (buf, count), count,
|
||||
result = INLINE_SYSCALL (pread, 5, fd, buf, count,
|
||||
__LONG_LONG_PAIR (offset >> 31, offset));
|
||||
|
||||
return result;
|
||||
|
@ -22,7 +22,6 @@
|
||||
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
#include <kernel-features.h>
|
||||
|
||||
@ -39,7 +38,7 @@ do_pread64 (int fd, void *buf, size_t count, off64_t offset)
|
||||
{
|
||||
ssize_t result;
|
||||
|
||||
result = INLINE_SYSCALL (pread, 5, fd, CHECK_N (buf, count), count,
|
||||
result = INLINE_SYSCALL (pread, 5, fd, buf, count,
|
||||
__LONG_LONG_PAIR ((off_t) (offset >> 32),
|
||||
(off_t) (offset & 0xffffffff)));
|
||||
|
||||
|
@ -23,7 +23,6 @@
|
||||
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
#include <kernel-features.h>
|
||||
|
||||
@ -44,7 +43,7 @@ do_pwrite (int fd, const void *buf, size_t count, off_t offset)
|
||||
ssize_t result;
|
||||
|
||||
assert (sizeof (offset) == 4);
|
||||
result = INLINE_SYSCALL (pwrite, 5, fd, CHECK_N (buf, count), count,
|
||||
result = INLINE_SYSCALL (pwrite, 5, fd, buf, count,
|
||||
__LONG_LONG_PAIR (offset >> 31, offset));
|
||||
|
||||
return result;
|
||||
|
@ -22,7 +22,6 @@
|
||||
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
#include <kernel-features.h>
|
||||
|
||||
@ -39,7 +38,7 @@ do_pwrite64 (int fd, const void *buf, size_t count, off64_t offset)
|
||||
{
|
||||
ssize_t result;
|
||||
|
||||
result = INLINE_SYSCALL (pwrite, 5, fd, CHECK_N (buf, count), count,
|
||||
result = INLINE_SYSCALL (pwrite, 5, fd, buf, count,
|
||||
__LONG_LONG_PAIR ((off_t) (offset >> 32),
|
||||
(off_t) (offset & 0xffffffff)));
|
||||
|
||||
|
@ -23,7 +23,6 @@
|
||||
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
#include <kernel-features.h>
|
||||
|
||||
#ifndef __ASSUME_COMPLETE_READV_WRITEV
|
||||
@ -47,12 +46,12 @@ __libc_readv (fd, vector, count)
|
||||
ssize_t result;
|
||||
|
||||
if (SINGLE_THREAD_P)
|
||||
result = INLINE_SYSCALL (readv, 3, fd, CHECK_N (vector, count), count);
|
||||
result = INLINE_SYSCALL (readv, 3, fd, vector, count);
|
||||
else
|
||||
{
|
||||
int oldtype = LIBC_CANCEL_ASYNC ();
|
||||
|
||||
result = INLINE_SYSCALL (readv, 3, fd, CHECK_N (vector, count), count);
|
||||
result = INLINE_SYSCALL (readv, 3, fd, vector, count);
|
||||
|
||||
LIBC_CANCEL_RESET (oldtype);
|
||||
}
|
||||
|
@ -22,7 +22,6 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
/* Perform user-defined atomical operation of array of semaphores. */
|
||||
|
||||
@ -32,6 +31,5 @@ semop (semid, sops, nsops)
|
||||
struct sembuf *sops;
|
||||
size_t nsops;
|
||||
{
|
||||
return INLINE_SYSCALL (ipc, 5, IPCOP_semop,
|
||||
semid, (int) nsops, 0, CHECK_N (sops, nsops));
|
||||
return INLINE_SYSCALL (ipc, 5, IPCOP_semop, semid, (int) nsops, 0, sops);
|
||||
}
|
||||
|
@ -22,7 +22,6 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
/* Perform user-defined atomical operation of array of semaphores. */
|
||||
|
||||
@ -34,6 +33,6 @@ semtimedop (semid, sops, nsops, timeout)
|
||||
const struct timespec *timeout;
|
||||
{
|
||||
return INLINE_SYSCALL (ipc, 6, IPCOP_semtimedop,
|
||||
semid, (int) nsops, 0, CHECK_N (sops, nsops),
|
||||
semid, (int) nsops, 0, sops,
|
||||
timeout);
|
||||
}
|
||||
|
@ -23,7 +23,6 @@
|
||||
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
#include <kernel-features.h>
|
||||
|
||||
@ -46,14 +45,14 @@ __libc_pread (fd, buf, count, offset)
|
||||
|
||||
if (SINGLE_THREAD_P)
|
||||
{
|
||||
result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), count, 0,
|
||||
result = INLINE_SYSCALL (pread, 6, fd, buf, count, 0,
|
||||
__LONG_LONG_PAIR (offset >> 31, offset));
|
||||
return result;
|
||||
}
|
||||
|
||||
int oldtype = LIBC_CANCEL_ASYNC ();
|
||||
|
||||
result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), count, 0,
|
||||
result = INLINE_SYSCALL (pread, 6, fd, buf, count, 0,
|
||||
__LONG_LONG_PAIR (offset >> 31, offset));
|
||||
|
||||
LIBC_CANCEL_RESET (oldtype);
|
||||
|
@ -22,7 +22,6 @@
|
||||
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
#include <kernel-features.h>
|
||||
|
||||
@ -45,7 +44,7 @@ __libc_pread64 (fd, buf, count, offset)
|
||||
|
||||
if (SINGLE_THREAD_P)
|
||||
{
|
||||
result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), count, 0,
|
||||
result = INLINE_SYSCALL (pread, 6, fd, buf, count, 0,
|
||||
__LONG_LONG_PAIR ((off_t) (offset >> 32),
|
||||
(off_t) (offset & 0xffffffff)));
|
||||
return result;
|
||||
@ -53,7 +52,7 @@ __libc_pread64 (fd, buf, count, offset)
|
||||
|
||||
int oldtype = LIBC_CANCEL_ASYNC ();
|
||||
|
||||
result = INLINE_SYSCALL (pread, 6, fd, CHECK_N (buf, count), count, 0,
|
||||
result = INLINE_SYSCALL (pread, 6, fd, buf, count, 0,
|
||||
__LONG_LONG_PAIR ((off_t) (offset >> 32),
|
||||
(off_t) (offset & 0xffffffff)));
|
||||
|
||||
|
@ -23,7 +23,6 @@
|
||||
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
#include <kernel-features.h>
|
||||
|
||||
@ -46,14 +45,14 @@ __libc_pwrite (fd, buf, count, offset)
|
||||
|
||||
if (SINGLE_THREAD_P)
|
||||
{
|
||||
result = INLINE_SYSCALL (pwrite, 6, fd, CHECK_N (buf, count), count, 0,
|
||||
result = INLINE_SYSCALL (pwrite, 6, fd, buf, count, 0,
|
||||
__LONG_LONG_PAIR (offset >> 31, offset));
|
||||
return result;
|
||||
}
|
||||
|
||||
int oldtype = LIBC_CANCEL_ASYNC ();
|
||||
|
||||
result = INLINE_SYSCALL (pwrite, 6, fd, CHECK_N (buf, count), count, 0,
|
||||
result = INLINE_SYSCALL (pwrite, 6, fd, buf, count, 0,
|
||||
__LONG_LONG_PAIR (offset >> 31, offset));
|
||||
|
||||
LIBC_CANCEL_RESET (oldtype);
|
||||
|
@ -22,7 +22,6 @@
|
||||
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
#include <kernel-features.h>
|
||||
|
||||
@ -45,7 +44,7 @@ __libc_pwrite64 (fd, buf, count, offset)
|
||||
|
||||
if (SINGLE_THREAD_P)
|
||||
{
|
||||
result = INLINE_SYSCALL (pwrite, 6, fd, CHECK_N (buf, count), count, 0,
|
||||
result = INLINE_SYSCALL (pwrite, 6, fd, buf, count, 0,
|
||||
__LONG_LONG_PAIR ((off_t) (offset >> 32),
|
||||
(off_t) (offset & 0xffffffff)));
|
||||
|
||||
@ -54,7 +53,7 @@ __libc_pwrite64 (fd, buf, count, offset)
|
||||
|
||||
int oldtype = LIBC_CANCEL_ASYNC ();
|
||||
|
||||
result = INLINE_SYSCALL (pwrite, 6, fd, CHECK_N (buf, count), count, 0,
|
||||
result = INLINE_SYSCALL (pwrite, 6, fd, buf, count, 0,
|
||||
__LONG_LONG_PAIR ((off_t) (offset >> 32),
|
||||
(off_t) (offset & 0xffffffff)));
|
||||
|
||||
|
@ -22,8 +22,6 @@
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
|
||||
#include <bp-checks.h>
|
||||
|
||||
ssize_t
|
||||
__libc_msgrcv (msqid, msgp, msgsz, msgtyp, msgflg)
|
||||
int msqid;
|
||||
@ -34,12 +32,12 @@ __libc_msgrcv (msqid, msgp, msgsz, msgtyp, msgflg)
|
||||
{
|
||||
if (SINGLE_THREAD_P)
|
||||
return INLINE_SYSCALL (ipc, 6, IPCOP_msgrcv, msqid, msgsz, msgflg,
|
||||
CHECK_N (msgp, msgsz), msgtyp);
|
||||
msgp, msgtyp);
|
||||
|
||||
int oldtype = LIBC_CANCEL_ASYNC ();
|
||||
|
||||
ssize_t result = INLINE_SYSCALL (ipc, 6, IPCOP_msgrcv, msqid, msgsz, msgflg,
|
||||
CHECK_N (msgp, msgsz), msgtyp);
|
||||
msgp, msgtyp);
|
||||
|
||||
LIBC_CANCEL_RESET (oldtype);
|
||||
|
||||
|
@ -22,13 +22,11 @@
|
||||
|
||||
#include <sysdep.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
|
||||
int
|
||||
__sysctl (int *name, int nlen, void *oldval, size_t *oldlenp,
|
||||
void *newval, size_t newlen)
|
||||
{
|
||||
/* GKM FIXME: force __sysctl_args decl to have unbounded pointers. */
|
||||
struct __sysctl_args args =
|
||||
{
|
||||
.name = name,
|
||||
@ -38,9 +36,6 @@ __sysctl (int *name, int nlen, void *oldval, size_t *oldlenp,
|
||||
.newval = newval,
|
||||
.newlen = newlen
|
||||
};
|
||||
(void) CHECK_N (name, nlen);
|
||||
(void) CHECK_N (oldval, *oldlenp);
|
||||
(void) CHECK_N (newval, newlen);
|
||||
|
||||
return INLINE_SYSCALL (_sysctl, 1, __ptrvalue (&args));
|
||||
}
|
||||
|
@ -23,7 +23,6 @@
|
||||
|
||||
#include <sysdep-cancel.h>
|
||||
#include <sys/syscall.h>
|
||||
#include <bp-checks.h>
|
||||
#include <kernel-features.h>
|
||||
|
||||
#ifndef __ASSUME_COMPLETE_READV_WRITEV
|
||||
@ -47,12 +46,12 @@ __libc_writev (fd, vector, count)
|
||||
ssize_t result;
|
||||
|
||||
if (SINGLE_THREAD_P)
|
||||
result = INLINE_SYSCALL (writev, 3, fd, CHECK_N (vector, count), count);
|
||||
result = INLINE_SYSCALL (writev, 3, fd, vector, count);
|
||||
else
|
||||
{
|
||||
int oldtype = LIBC_CANCEL_ASYNC ();
|
||||
|
||||
result = INLINE_SYSCALL (writev, 3, fd, CHECK_N (vector, count), count);
|
||||
result = INLINE_SYSCALL (writev, 3, fd, vector, count);
|
||||
|
||||
LIBC_CANCEL_RESET (oldtype);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user