]> git.ipfire.org Git - thirdparty/glibc.git/commit
Introduce <pointer_guard.h>, extracted from <sysdep.h>
authorFlorian Weimer <fweimer@redhat.com>
Tue, 18 Oct 2022 15:00:07 +0000 (17:00 +0200)
committerFlorian Weimer <fweimer@redhat.com>
Tue, 18 Oct 2022 15:03:55 +0000 (17:03 +0200)
commit88f4b6929c26f9240a4b0b7dcc62922f02544a09
tree72acb4a359d3ec56729a910386bd1a002bd69e3c
parent246f37d6b1c4c6c0a6365df8783e62e3adf208e8
Introduce <pointer_guard.h>, extracted from <sysdep.h>

This allows us to define a generic no-op version of PTR_MANGLE and
PTR_DEMANGLE.  In the future, we can use PTR_MANGLE and PTR_DEMANGLE
unconditionally in C sources, avoiding an unintended loss of hardening
due to missing include files or unlucky header inclusion ordering.

In i386 and x86_64, we can avoid a <tls.h> dependency in the C
code by using the computed constant from <tcb-offsets.h>.  <sysdep.h>
no longer includes these definitions, so there is no cyclic dependency
anymore when computing the <tcb-offsets.h> constants.

Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
131 files changed:
hurd/sigunwind.c
iconv/gconv.c
iconv/gconv_cache.c
iconv/gconv_db.c
iconv/gconv_dl.c
iconv/gconv_trans.c
iconv/skeleton.c
inet/idna.c
libio/iofopncook.c
libio/iofwide.c
libio/libioP.h
libio/vtables.c
misc/unwind-link.c
nss/nss_module.c
stdlib/cxa_atexit.c
stdlib/cxa_finalize.c
stdlib/cxa_thread_atexit_impl.c
stdlib/exit.c
stdlib/on_exit.c
sysdeps/aarch64/__longjmp.S
sysdeps/aarch64/jmpbuf-offsets.h
sysdeps/aarch64/setjmp.S
sysdeps/alpha/__longjmp.S
sysdeps/alpha/jmpbuf-unwind.h
sysdeps/alpha/setjmp.S
sysdeps/arc/jmpbuf-unwind.h
sysdeps/arm/__longjmp.S
sysdeps/arm/jmpbuf-unwind.h
sysdeps/arm/pointer_guard.h [new file with mode: 0644]
sysdeps/arm/setjmp.S
sysdeps/arm/sysdep.h
sysdeps/csky/abiv2/__longjmp.S
sysdeps/csky/abiv2/setjmp.S
sysdeps/csky/jmpbuf-unwind.h
sysdeps/generic/pointer_guard.h [new file with mode: 0644]
sysdeps/generic/unwind-link.h
sysdeps/i386/__longjmp.S
sysdeps/i386/bsd-_setjmp.S
sysdeps/i386/bsd-setjmp.S
sysdeps/i386/jmpbuf-unwind.h
sysdeps/i386/setjmp.S
sysdeps/loongarch/__longjmp.S
sysdeps/loongarch/jmpbuf-unwind.h
sysdeps/loongarch/setjmp.S
sysdeps/m68k/jmpbuf-unwind.h
sysdeps/mach/hurd/i386/____longjmp_chk.S
sysdeps/mach/hurd/i386/__longjmp.S
sysdeps/mach/hurd/jmp-unwind.c
sysdeps/microblaze/jmpbuf-unwind.h
sysdeps/mips/jmpbuf-unwind.h
sysdeps/nios2/__longjmp.S
sysdeps/nios2/jmpbuf-offsets.h
sysdeps/nios2/setjmp.S
sysdeps/powerpc/jmpbuf-unwind.h
sysdeps/powerpc/powerpc32/__longjmp-common.S
sysdeps/powerpc/powerpc32/fpu/__longjmp-common.S
sysdeps/powerpc/powerpc32/fpu/setjmp-common.S
sysdeps/powerpc/powerpc32/setjmp-common.S
sysdeps/powerpc/powerpc64/__longjmp-common.S
sysdeps/powerpc/powerpc64/setjmp-common.S
sysdeps/riscv/jmpbuf-unwind.h
sysdeps/s390/jmpbuf-unwind.h
sysdeps/s390/s390-32/__longjmp.c
sysdeps/s390/s390-32/setjmp.S
sysdeps/s390/s390-64/__longjmp.c
sysdeps/s390/s390-64/setjmp.S
sysdeps/sh/jmpbuf-unwind.h
sysdeps/sh/sh3/__longjmp.S
sysdeps/sh/sh3/setjmp.S
sysdeps/sh/sh4/__longjmp.S
sysdeps/sh/sh4/setjmp.S
sysdeps/sparc/sparc32/__longjmp.S
sysdeps/sparc/sparc32/jmpbuf-unwind.h
sysdeps/sparc/sparc32/setjmp.S
sysdeps/unix/sysv/linux/aarch64/pointer_guard.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/aarch64/sysdep.h
sysdeps/unix/sysv/linux/alpha/____longjmp_chk.S
sysdeps/unix/sysv/linux/alpha/pointer_guard.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/alpha/sysdep.h
sysdeps/unix/sysv/linux/arc/sysdep.h
sysdeps/unix/sysv/linux/csky/pointer_guard.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/csky/sysdep.h
sysdeps/unix/sysv/linux/hppa/sysdep.h
sysdeps/unix/sysv/linux/i386/____longjmp_chk.S
sysdeps/unix/sysv/linux/i386/pointer_guard.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/i386/sysdep.h
sysdeps/unix/sysv/linux/ia64/__ia64_longjmp.S
sysdeps/unix/sysv/linux/ia64/__longjmp.S
sysdeps/unix/sysv/linux/ia64/pointer_guard.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/ia64/setjmp.S
sysdeps/unix/sysv/linux/ia64/sysdep.h
sysdeps/unix/sysv/linux/loongarch/pointer_guard.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/loongarch/sysdep.h
sysdeps/unix/sysv/linux/m68k/sysdep.h
sysdeps/unix/sysv/linux/microblaze/sysdep.h
sysdeps/unix/sysv/linux/mips/mips32/sysdep.h
sysdeps/unix/sysv/linux/mips/mips64/sysdep.h
sysdeps/unix/sysv/linux/nios2/pointer_guard.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/nios2/sysdep.h
sysdeps/unix/sysv/linux/or1k/sysdep.h
sysdeps/unix/sysv/linux/powerpc/pointer_guard.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/powerpc/sysdep.h
sysdeps/unix/sysv/linux/riscv/sysdep.h
sysdeps/unix/sysv/linux/s390/s390-32/pointer_guard.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h
sysdeps/unix/sysv/linux/s390/s390-64/pointer_guard.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h
sysdeps/unix/sysv/linux/sh/____longjmp_chk.S
sysdeps/unix/sysv/linux/sh/pointer_guard.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/sh/sysdep.h
sysdeps/unix/sysv/linux/sparc/sparc32/____longjmp_chk.S
sysdeps/unix/sysv/linux/sparc/sparc32/pointer_guard.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h
sysdeps/unix/sysv/linux/sparc/sparc64/pointer_guard.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h
sysdeps/unix/sysv/linux/x86_64/____longjmp_chk.S
sysdeps/unix/sysv/linux/x86_64/pointer_guard.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/x86_64/sysdep.h
sysdeps/x86_64/__longjmp.S
sysdeps/x86_64/jmpbuf-unwind.h
sysdeps/x86_64/setjmp.S
wcsmbs/btowc.c
wcsmbs/mbrtoc16.c
wcsmbs/mbrtoc8.c
wcsmbs/mbrtowc.c
wcsmbs/mbsnrtowcs.c
wcsmbs/mbsrtowcs_l.c
wcsmbs/wcrtomb.c
wcsmbs/wcsnrtombs.c
wcsmbs/wcsrtombs.c
wcsmbs/wctob.c