Message ID | 20231216165325.2584919-1-hjl.tools@gmail.com |
---|---|
Headers | show |
Series | x86/cet: Update CET kernel interface | expand |
On Sat, Dec 16, 2023 at 10:53 AM H.J. Lu <hjl.tools@gmail.com> wrote: > > Changes in v2: > > 1. Add add extra 20 stack frames in shadow stack for signal handlers > when allocating shadow stack for ucontexts. > 2. Remove the "x86: Check PT_GNU_PROPERTY early" patch which has been > checked into master branch. > > > Linux kernel 6.6 added SHSTK support for x86-64. This patch set updates > CET kernel interface to Linux kernel 6.6. The main difference from the > current glibc assumption is that SHSTK is enabled by glibc, instead of > kernel. Glibc enables SHSTK after verifying that the application and > all dependency libraries are CET enabled. SHSTK can only be enabled in a > function which will never return. Otherwise, shadow stack will underflow > at the function return. > > Not all CET enabled applications and libraries have been properly tested > in CET enabled environments. Some CET enabled applications or libraries > will crash or misbehave when CET is enabled. Don't set CET active by > default so that all applications and libraries will run normally regardless > of whether CET is active or not. Shadow stack can be enabled by > > $ export GLIBC_TUNABLES=glibc.cpu.hwcaps=SHSTK > > at run-time if shadow stack can be enabled by kernel. > > Since only x86-64 is supported, i386 shadow stack codes are unchanged > and CET shouldn't be enabled for i386. > > NB: This change can be reverted if it is OK to enable CET by default for > all applications and libraries. > > Tested on Intel Tiger Lake under Linux kernel 6.6.7. > > H.J. Lu (16): > x86/cet: Check user_shstk in /proc/cpuinfo > x86/cet: Update tst-cet-vfork-1 > x86/cet: Don't assume that SHSTK implies IBT > x86/cet: Check legacy shadow stack applications > x86/cet: Check CPU_FEATURE_ACTIVE when CET is disabled > x86/cet: Add tests for GLIBC_TUNABLES=glibc.cpu.hwcaps=-SHSTK > x86/cet: Check legacy shadow stack code in .init_array section > x86/cet: Check CPU_FEATURE_ACTIVE in permissive mode > x86: Modularize sysdeps/x86/dl-cet.c > x86/cet: Sync with Linux kernel 6.6 shadow stack interface > elf: Always provide _dl_get_dl_main_map in libc.a > x86/cet: Enable shadow stack during startup > x86/cet: Check feature_1 in TCB for active IBT and SHSTK > x86/cet: Don't disable CET if not single threaded > x86/cet: Don't set CET active by default > x86/cet: Run some CET tests with shadow stack > > elf/dl-support.c | 2 - > sysdeps/generic/ldsodefs.h | 8 +- > sysdeps/unix/sysv/linux/x86/Makefile | 1 + > .../sysv/linux/x86/allocate-shadow-stack.c | 62 +++ > .../sysv/linux/x86/allocate-shadow-stack.h | 27 + > sysdeps/unix/sysv/linux/x86/bits/mman.h | 5 + > sysdeps/unix/sysv/linux/x86/dl-cet.h | 39 +- > .../unix/sysv/linux/x86/include/asm/prctl.h | 37 +- > .../sysv/linux/x86/tst-cet-setcontext-1.c | 17 +- > sysdeps/unix/sysv/linux/x86/tst-cet-vfork-1.c | 43 +- > .../unix/sysv/linux/x86_64/__start_context.S | 38 +- > sysdeps/unix/sysv/linux/x86_64/dl-cet.h | 47 ++ > sysdeps/unix/sysv/linux/x86_64/getcontext.S | 30 +- > sysdeps/unix/sysv/linux/x86_64/makecontext.c | 29 +- > sysdeps/unix/sysv/linux/x86_64/swapcontext.S | 22 +- > sysdeps/x86/Makefile | 87 +++- > sysdeps/x86/bits/platform/x86.h | 8 + > sysdeps/x86/cpu-features-offsets.sym | 1 + > sysdeps/x86/cpu-features.c | 48 +- > sysdeps/x86/cpu-tunables.c | 17 +- > sysdeps/x86/dl-cet.c | 462 +++++++++++------- > sysdeps/x86/get-cpuid-feature-leaf.c | 13 +- > sysdeps/x86/include/cpu-features.h | 3 + > sysdeps/x86/libc-start.h | 54 +- > sysdeps/x86/sys/platform/x86.h | 17 + > sysdeps/x86/tst-cet-legacy-10.c | 6 +- > sysdeps/x86/tst-cet-legacy-10a-static.c | 2 + > sysdeps/x86/tst-cet-legacy-10a.c | 2 + > sysdeps/x86/tst-cet-legacy-4.c | 5 + > sysdeps/x86/tst-cet-legacy-8.c | 15 +- > sysdeps/x86/tst-cpu-features-cpuinfo.c | 2 +- > sysdeps/x86/tst-shstk-legacy-1-extra.S | 35 ++ > sysdeps/x86/tst-shstk-legacy-1a-static.c | 1 + > sysdeps/x86/tst-shstk-legacy-1a.c | 32 ++ > sysdeps/x86/tst-shstk-legacy-1b-static.c | 1 + > sysdeps/x86/tst-shstk-legacy-1b.c | 38 ++ > sysdeps/x86/tst-shstk-legacy-1c-static.c | 1 + > sysdeps/x86/tst-shstk-legacy-1c.c | 20 + > sysdeps/x86/tst-shstk-legacy-1d-static.c | 1 + > .../tst-shstk-legacy-1d.c} | 45 +- > sysdeps/x86/tst-shstk-legacy-1e-static.c | 1 + > sysdeps/x86/tst-shstk-legacy-1e-static.sh | 33 ++ > sysdeps/x86/tst-shstk-legacy-1e.c | 53 ++ > sysdeps/x86/tst-shstk-legacy-1e.sh | 35 ++ > sysdeps/x86/tst-shstk-legacy-1f.c | 29 ++ > sysdeps/x86/tst-shstk-legacy-1g.c | 35 ++ > sysdeps/x86/tst-shstk-legacy-1g.sh | 35 ++ > sysdeps/x86/tst-shstk-legacy-mod-1.c | 28 ++ > sysdeps/x86_64/dl-machine.h | 12 +- > sysdeps/x86_64/nptl/tls.h | 2 +- > 50 files changed, 1169 insertions(+), 417 deletions(-) > create mode 100644 sysdeps/unix/sysv/linux/x86/allocate-shadow-stack.c > create mode 100644 sysdeps/unix/sysv/linux/x86/allocate-shadow-stack.h > create mode 100644 sysdeps/unix/sysv/linux/x86_64/dl-cet.h > create mode 100644 sysdeps/x86/tst-cet-legacy-10a-static.c > create mode 100644 sysdeps/x86/tst-cet-legacy-10a.c > create mode 100644 sysdeps/x86/tst-shstk-legacy-1-extra.S > create mode 100644 sysdeps/x86/tst-shstk-legacy-1a-static.c > create mode 100644 sysdeps/x86/tst-shstk-legacy-1a.c > create mode 100644 sysdeps/x86/tst-shstk-legacy-1b-static.c > create mode 100644 sysdeps/x86/tst-shstk-legacy-1b.c > create mode 100644 sysdeps/x86/tst-shstk-legacy-1c-static.c > create mode 100644 sysdeps/x86/tst-shstk-legacy-1c.c > create mode 100644 sysdeps/x86/tst-shstk-legacy-1d-static.c > rename sysdeps/{unix/sysv/linux/x86/cpu-features.c => x86/tst-shstk-legacy-1d.c} (53%) > create mode 100644 sysdeps/x86/tst-shstk-legacy-1e-static.c > create mode 100755 sysdeps/x86/tst-shstk-legacy-1e-static.sh > create mode 100644 sysdeps/x86/tst-shstk-legacy-1e.c > create mode 100755 sysdeps/x86/tst-shstk-legacy-1e.sh > create mode 100644 sysdeps/x86/tst-shstk-legacy-1f.c > create mode 100644 sysdeps/x86/tst-shstk-legacy-1g.c > create mode 100755 sysdeps/x86/tst-shstk-legacy-1g.sh > create mode 100644 sysdeps/x86/tst-shstk-legacy-mod-1.c > > -- > 2.43.0 > The series no longer cleanly applies since you committed ``` commit 442983319ba70de801fc856e8dd4748fba8f7f1b (HEAD -> master, origin/master, origin/HEAD) Author: H.J. Lu <hjl.tools@gmail.com> Date: Sat Dec 16 08:53:12 2023 -0800 x86/cet: Don't assume that SHSTK implies IBT ``` needs a rebase.
On Mon, Dec 18, 2023 at 9:50 AM Noah Goldstein <goldstein.w.n@gmail.com> wrote: > > On Sat, Dec 16, 2023 at 10:53 AM H.J. Lu <hjl.tools@gmail.com> wrote: > > > > Changes in v2: > > > > 1. Add add extra 20 stack frames in shadow stack for signal handlers > > when allocating shadow stack for ucontexts. > > 2. Remove the "x86: Check PT_GNU_PROPERTY early" patch which has been > > checked into master branch. > > > > > > Linux kernel 6.6 added SHSTK support for x86-64. This patch set updates > > CET kernel interface to Linux kernel 6.6. The main difference from the > > current glibc assumption is that SHSTK is enabled by glibc, instead of > > kernel. Glibc enables SHSTK after verifying that the application and > > all dependency libraries are CET enabled. SHSTK can only be enabled in a > > function which will never return. Otherwise, shadow stack will underflow > > at the function return. > > > > Not all CET enabled applications and libraries have been properly tested > > in CET enabled environments. Some CET enabled applications or libraries > > will crash or misbehave when CET is enabled. Don't set CET active by > > default so that all applications and libraries will run normally regardless > > of whether CET is active or not. Shadow stack can be enabled by > > > > $ export GLIBC_TUNABLES=glibc.cpu.hwcaps=SHSTK > > > > at run-time if shadow stack can be enabled by kernel. > > > > Since only x86-64 is supported, i386 shadow stack codes are unchanged > > and CET shouldn't be enabled for i386. > > > > NB: This change can be reverted if it is OK to enable CET by default for > > all applications and libraries. > > > > Tested on Intel Tiger Lake under Linux kernel 6.6.7. > > > > H.J. Lu (16): > > x86/cet: Check user_shstk in /proc/cpuinfo > > x86/cet: Update tst-cet-vfork-1 > > x86/cet: Don't assume that SHSTK implies IBT > > x86/cet: Check legacy shadow stack applications > > x86/cet: Check CPU_FEATURE_ACTIVE when CET is disabled > > x86/cet: Add tests for GLIBC_TUNABLES=glibc.cpu.hwcaps=-SHSTK > > x86/cet: Check legacy shadow stack code in .init_array section > > x86/cet: Check CPU_FEATURE_ACTIVE in permissive mode > > x86: Modularize sysdeps/x86/dl-cet.c > > x86/cet: Sync with Linux kernel 6.6 shadow stack interface > > elf: Always provide _dl_get_dl_main_map in libc.a > > x86/cet: Enable shadow stack during startup > > x86/cet: Check feature_1 in TCB for active IBT and SHSTK > > x86/cet: Don't disable CET if not single threaded > > x86/cet: Don't set CET active by default > > x86/cet: Run some CET tests with shadow stack > > > > elf/dl-support.c | 2 - > > sysdeps/generic/ldsodefs.h | 8 +- > > sysdeps/unix/sysv/linux/x86/Makefile | 1 + > > .../sysv/linux/x86/allocate-shadow-stack.c | 62 +++ > > .../sysv/linux/x86/allocate-shadow-stack.h | 27 + > > sysdeps/unix/sysv/linux/x86/bits/mman.h | 5 + > > sysdeps/unix/sysv/linux/x86/dl-cet.h | 39 +- > > .../unix/sysv/linux/x86/include/asm/prctl.h | 37 +- > > .../sysv/linux/x86/tst-cet-setcontext-1.c | 17 +- > > sysdeps/unix/sysv/linux/x86/tst-cet-vfork-1.c | 43 +- > > .../unix/sysv/linux/x86_64/__start_context.S | 38 +- > > sysdeps/unix/sysv/linux/x86_64/dl-cet.h | 47 ++ > > sysdeps/unix/sysv/linux/x86_64/getcontext.S | 30 +- > > sysdeps/unix/sysv/linux/x86_64/makecontext.c | 29 +- > > sysdeps/unix/sysv/linux/x86_64/swapcontext.S | 22 +- > > sysdeps/x86/Makefile | 87 +++- > > sysdeps/x86/bits/platform/x86.h | 8 + > > sysdeps/x86/cpu-features-offsets.sym | 1 + > > sysdeps/x86/cpu-features.c | 48 +- > > sysdeps/x86/cpu-tunables.c | 17 +- > > sysdeps/x86/dl-cet.c | 462 +++++++++++------- > > sysdeps/x86/get-cpuid-feature-leaf.c | 13 +- > > sysdeps/x86/include/cpu-features.h | 3 + > > sysdeps/x86/libc-start.h | 54 +- > > sysdeps/x86/sys/platform/x86.h | 17 + > > sysdeps/x86/tst-cet-legacy-10.c | 6 +- > > sysdeps/x86/tst-cet-legacy-10a-static.c | 2 + > > sysdeps/x86/tst-cet-legacy-10a.c | 2 + > > sysdeps/x86/tst-cet-legacy-4.c | 5 + > > sysdeps/x86/tst-cet-legacy-8.c | 15 +- > > sysdeps/x86/tst-cpu-features-cpuinfo.c | 2 +- > > sysdeps/x86/tst-shstk-legacy-1-extra.S | 35 ++ > > sysdeps/x86/tst-shstk-legacy-1a-static.c | 1 + > > sysdeps/x86/tst-shstk-legacy-1a.c | 32 ++ > > sysdeps/x86/tst-shstk-legacy-1b-static.c | 1 + > > sysdeps/x86/tst-shstk-legacy-1b.c | 38 ++ > > sysdeps/x86/tst-shstk-legacy-1c-static.c | 1 + > > sysdeps/x86/tst-shstk-legacy-1c.c | 20 + > > sysdeps/x86/tst-shstk-legacy-1d-static.c | 1 + > > .../tst-shstk-legacy-1d.c} | 45 +- > > sysdeps/x86/tst-shstk-legacy-1e-static.c | 1 + > > sysdeps/x86/tst-shstk-legacy-1e-static.sh | 33 ++ > > sysdeps/x86/tst-shstk-legacy-1e.c | 53 ++ > > sysdeps/x86/tst-shstk-legacy-1e.sh | 35 ++ > > sysdeps/x86/tst-shstk-legacy-1f.c | 29 ++ > > sysdeps/x86/tst-shstk-legacy-1g.c | 35 ++ > > sysdeps/x86/tst-shstk-legacy-1g.sh | 35 ++ > > sysdeps/x86/tst-shstk-legacy-mod-1.c | 28 ++ > > sysdeps/x86_64/dl-machine.h | 12 +- > > sysdeps/x86_64/nptl/tls.h | 2 +- > > 50 files changed, 1169 insertions(+), 417 deletions(-) > > create mode 100644 sysdeps/unix/sysv/linux/x86/allocate-shadow-stack.c > > create mode 100644 sysdeps/unix/sysv/linux/x86/allocate-shadow-stack.h > > create mode 100644 sysdeps/unix/sysv/linux/x86_64/dl-cet.h > > create mode 100644 sysdeps/x86/tst-cet-legacy-10a-static.c > > create mode 100644 sysdeps/x86/tst-cet-legacy-10a.c > > create mode 100644 sysdeps/x86/tst-shstk-legacy-1-extra.S > > create mode 100644 sysdeps/x86/tst-shstk-legacy-1a-static.c > > create mode 100644 sysdeps/x86/tst-shstk-legacy-1a.c > > create mode 100644 sysdeps/x86/tst-shstk-legacy-1b-static.c > > create mode 100644 sysdeps/x86/tst-shstk-legacy-1b.c > > create mode 100644 sysdeps/x86/tst-shstk-legacy-1c-static.c > > create mode 100644 sysdeps/x86/tst-shstk-legacy-1c.c > > create mode 100644 sysdeps/x86/tst-shstk-legacy-1d-static.c > > rename sysdeps/{unix/sysv/linux/x86/cpu-features.c => x86/tst-shstk-legacy-1d.c} (53%) > > create mode 100644 sysdeps/x86/tst-shstk-legacy-1e-static.c > > create mode 100755 sysdeps/x86/tst-shstk-legacy-1e-static.sh > > create mode 100644 sysdeps/x86/tst-shstk-legacy-1e.c > > create mode 100755 sysdeps/x86/tst-shstk-legacy-1e.sh > > create mode 100644 sysdeps/x86/tst-shstk-legacy-1f.c > > create mode 100644 sysdeps/x86/tst-shstk-legacy-1g.c > > create mode 100755 sysdeps/x86/tst-shstk-legacy-1g.sh > > create mode 100644 sysdeps/x86/tst-shstk-legacy-mod-1.c > > > > -- > > 2.43.0 > > > > The series no longer cleanly applies since you committed > ``` > commit 442983319ba70de801fc856e8dd4748fba8f7f1b (HEAD -> master, > origin/master, origin/HEAD) > Author: H.J. Lu <hjl.tools@gmail.com> > Date: Sat Dec 16 08:53:12 2023 -0800 > > x86/cet: Don't assume that SHSTK implies IBT > > ``` > > needs a rebase. Here is the rebased patch set: https://gitlab.com/x86-glibc/glibc/-/commits/users/hjl/cet/v11b/master?ref_type=heads There are no code changes. Any comments on the rest of the patches? Thanks.
On Mon, Dec 18, 2023 at 1:10 PM H.J. Lu <hjl.tools@gmail.com> wrote: > > On Mon, Dec 18, 2023 at 9:50 AM Noah Goldstein <goldstein.w.n@gmail.com> wrote: > > > > On Sat, Dec 16, 2023 at 10:53 AM H.J. Lu <hjl.tools@gmail.com> wrote: > > > > > > Changes in v2: > > > > > > 1. Add add extra 20 stack frames in shadow stack for signal handlers > > > when allocating shadow stack for ucontexts. > > > 2. Remove the "x86: Check PT_GNU_PROPERTY early" patch which has been > > > checked into master branch. > > > > > > > > > Linux kernel 6.6 added SHSTK support for x86-64. This patch set updates > > > CET kernel interface to Linux kernel 6.6. The main difference from the > > > current glibc assumption is that SHSTK is enabled by glibc, instead of > > > kernel. Glibc enables SHSTK after verifying that the application and > > > all dependency libraries are CET enabled. SHSTK can only be enabled in a > > > function which will never return. Otherwise, shadow stack will underflow > > > at the function return. > > > > > > Not all CET enabled applications and libraries have been properly tested > > > in CET enabled environments. Some CET enabled applications or libraries > > > will crash or misbehave when CET is enabled. Don't set CET active by > > > default so that all applications and libraries will run normally regardless > > > of whether CET is active or not. Shadow stack can be enabled by > > > > > > $ export GLIBC_TUNABLES=glibc.cpu.hwcaps=SHSTK > > > > > > at run-time if shadow stack can be enabled by kernel. > > > > > > Since only x86-64 is supported, i386 shadow stack codes are unchanged > > > and CET shouldn't be enabled for i386. > > > > > > NB: This change can be reverted if it is OK to enable CET by default for > > > all applications and libraries. > > > > > > Tested on Intel Tiger Lake under Linux kernel 6.6.7. > > > > > > H.J. Lu (16): > > > x86/cet: Check user_shstk in /proc/cpuinfo > > > x86/cet: Update tst-cet-vfork-1 > > > x86/cet: Don't assume that SHSTK implies IBT > > > x86/cet: Check legacy shadow stack applications > > > x86/cet: Check CPU_FEATURE_ACTIVE when CET is disabled > > > x86/cet: Add tests for GLIBC_TUNABLES=glibc.cpu.hwcaps=-SHSTK > > > x86/cet: Check legacy shadow stack code in .init_array section > > > x86/cet: Check CPU_FEATURE_ACTIVE in permissive mode > > > x86: Modularize sysdeps/x86/dl-cet.c > > > x86/cet: Sync with Linux kernel 6.6 shadow stack interface > > > elf: Always provide _dl_get_dl_main_map in libc.a > > > x86/cet: Enable shadow stack during startup > > > x86/cet: Check feature_1 in TCB for active IBT and SHSTK > > > x86/cet: Don't disable CET if not single threaded > > > x86/cet: Don't set CET active by default > > > x86/cet: Run some CET tests with shadow stack > > > > > > elf/dl-support.c | 2 - > > > sysdeps/generic/ldsodefs.h | 8 +- > > > sysdeps/unix/sysv/linux/x86/Makefile | 1 + > > > .../sysv/linux/x86/allocate-shadow-stack.c | 62 +++ > > > .../sysv/linux/x86/allocate-shadow-stack.h | 27 + > > > sysdeps/unix/sysv/linux/x86/bits/mman.h | 5 + > > > sysdeps/unix/sysv/linux/x86/dl-cet.h | 39 +- > > > .../unix/sysv/linux/x86/include/asm/prctl.h | 37 +- > > > .../sysv/linux/x86/tst-cet-setcontext-1.c | 17 +- > > > sysdeps/unix/sysv/linux/x86/tst-cet-vfork-1.c | 43 +- > > > .../unix/sysv/linux/x86_64/__start_context.S | 38 +- > > > sysdeps/unix/sysv/linux/x86_64/dl-cet.h | 47 ++ > > > sysdeps/unix/sysv/linux/x86_64/getcontext.S | 30 +- > > > sysdeps/unix/sysv/linux/x86_64/makecontext.c | 29 +- > > > sysdeps/unix/sysv/linux/x86_64/swapcontext.S | 22 +- > > > sysdeps/x86/Makefile | 87 +++- > > > sysdeps/x86/bits/platform/x86.h | 8 + > > > sysdeps/x86/cpu-features-offsets.sym | 1 + > > > sysdeps/x86/cpu-features.c | 48 +- > > > sysdeps/x86/cpu-tunables.c | 17 +- > > > sysdeps/x86/dl-cet.c | 462 +++++++++++------- > > > sysdeps/x86/get-cpuid-feature-leaf.c | 13 +- > > > sysdeps/x86/include/cpu-features.h | 3 + > > > sysdeps/x86/libc-start.h | 54 +- > > > sysdeps/x86/sys/platform/x86.h | 17 + > > > sysdeps/x86/tst-cet-legacy-10.c | 6 +- > > > sysdeps/x86/tst-cet-legacy-10a-static.c | 2 + > > > sysdeps/x86/tst-cet-legacy-10a.c | 2 + > > > sysdeps/x86/tst-cet-legacy-4.c | 5 + > > > sysdeps/x86/tst-cet-legacy-8.c | 15 +- > > > sysdeps/x86/tst-cpu-features-cpuinfo.c | 2 +- > > > sysdeps/x86/tst-shstk-legacy-1-extra.S | 35 ++ > > > sysdeps/x86/tst-shstk-legacy-1a-static.c | 1 + > > > sysdeps/x86/tst-shstk-legacy-1a.c | 32 ++ > > > sysdeps/x86/tst-shstk-legacy-1b-static.c | 1 + > > > sysdeps/x86/tst-shstk-legacy-1b.c | 38 ++ > > > sysdeps/x86/tst-shstk-legacy-1c-static.c | 1 + > > > sysdeps/x86/tst-shstk-legacy-1c.c | 20 + > > > sysdeps/x86/tst-shstk-legacy-1d-static.c | 1 + > > > .../tst-shstk-legacy-1d.c} | 45 +- > > > sysdeps/x86/tst-shstk-legacy-1e-static.c | 1 + > > > sysdeps/x86/tst-shstk-legacy-1e-static.sh | 33 ++ > > > sysdeps/x86/tst-shstk-legacy-1e.c | 53 ++ > > > sysdeps/x86/tst-shstk-legacy-1e.sh | 35 ++ > > > sysdeps/x86/tst-shstk-legacy-1f.c | 29 ++ > > > sysdeps/x86/tst-shstk-legacy-1g.c | 35 ++ > > > sysdeps/x86/tst-shstk-legacy-1g.sh | 35 ++ > > > sysdeps/x86/tst-shstk-legacy-mod-1.c | 28 ++ > > > sysdeps/x86_64/dl-machine.h | 12 +- > > > sysdeps/x86_64/nptl/tls.h | 2 +- > > > 50 files changed, 1169 insertions(+), 417 deletions(-) > > > create mode 100644 sysdeps/unix/sysv/linux/x86/allocate-shadow-stack.c > > > create mode 100644 sysdeps/unix/sysv/linux/x86/allocate-shadow-stack.h > > > create mode 100644 sysdeps/unix/sysv/linux/x86_64/dl-cet.h > > > create mode 100644 sysdeps/x86/tst-cet-legacy-10a-static.c > > > create mode 100644 sysdeps/x86/tst-cet-legacy-10a.c > > > create mode 100644 sysdeps/x86/tst-shstk-legacy-1-extra.S > > > create mode 100644 sysdeps/x86/tst-shstk-legacy-1a-static.c > > > create mode 100644 sysdeps/x86/tst-shstk-legacy-1a.c > > > create mode 100644 sysdeps/x86/tst-shstk-legacy-1b-static.c > > > create mode 100644 sysdeps/x86/tst-shstk-legacy-1b.c > > > create mode 100644 sysdeps/x86/tst-shstk-legacy-1c-static.c > > > create mode 100644 sysdeps/x86/tst-shstk-legacy-1c.c > > > create mode 100644 sysdeps/x86/tst-shstk-legacy-1d-static.c > > > rename sysdeps/{unix/sysv/linux/x86/cpu-features.c => x86/tst-shstk-legacy-1d.c} (53%) > > > create mode 100644 sysdeps/x86/tst-shstk-legacy-1e-static.c > > > create mode 100755 sysdeps/x86/tst-shstk-legacy-1e-static.sh > > > create mode 100644 sysdeps/x86/tst-shstk-legacy-1e.c > > > create mode 100755 sysdeps/x86/tst-shstk-legacy-1e.sh > > > create mode 100644 sysdeps/x86/tst-shstk-legacy-1f.c > > > create mode 100644 sysdeps/x86/tst-shstk-legacy-1g.c > > > create mode 100755 sysdeps/x86/tst-shstk-legacy-1g.sh > > > create mode 100644 sysdeps/x86/tst-shstk-legacy-mod-1.c > > > > > > -- > > > 2.43.0 > > > > > > > The series no longer cleanly applies since you committed > > ``` > > commit 442983319ba70de801fc856e8dd4748fba8f7f1b (HEAD -> master, > > origin/master, origin/HEAD) > > Author: H.J. Lu <hjl.tools@gmail.com> > > Date: Sat Dec 16 08:53:12 2023 -0800 > > > > x86/cet: Don't assume that SHSTK implies IBT > > > > ``` > > > > needs a rebase. > > Here is the rebased patch set: > > https://gitlab.com/x86-glibc/glibc/-/commits/users/hjl/cet/v11b/master?ref_type=heads > > There are no code changes. Any comments on the rest of the patches? > > Thanks. > > -- > H.J. When I try to apply: ``` Applying: x86/cet: Check user_shstk in /proc/cpuinfo error: patch failed: sysdeps/x86/tst-cpu-features-cpuinfo.c:246 error: sysdeps/x86/tst-cpu-features-cpuinfo.c: patch does not apply Patch failed at 0001 x86/cet: Check user_shstk in /proc/cpuinfo hint: Use 'git am --show-current-patch=diff' to see the failed patch When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort". ```