Skip to content

[PW_SID:1149213] x86: Support shstk via prctl - #2507

Closed
linux-riscv-bot wants to merge 8 commits into
workflow__riscv__fixesfrom
pw1149213
Closed

[PW_SID:1149213] x86: Support shstk via prctl#2507
linux-riscv-bot wants to merge 8 commits into
workflow__riscv__fixesfrom
pw1149213

Conversation

@linux-riscv-bot

Copy link
Copy Markdown

PR for series 1149213 applied to workflow__riscv__fixes

Name: x86: Support shstk via prctl
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=1149213
Version: 3

ThreeBottleCap and others added 8 commits August 14, 2026 14:12
…_RWX

When CONFIG_STRICT_MODULE_RWX is not set, execmem cannot create
temporary writable mappings for read-only executable pages. In this
case, the execmem ranges must already have writable permissions.

Currently EXECMEM_KPROBES unconditionally uses PAGE_KERNEL_READ_EXEC,
which causes kprobe instruction slot writes to trigger page faults
on systems where CONFIG_STRICT_MODULE_RWX is not enabled.

Fix this by using PAGE_KERNEL_EXEC when CONFIG_STRICT_MODULE_RWX
is not available.

Signed-off-by: Xiaofeng Yuan <xiaofengmian@163.com>
Tested-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Nam Cao <namcao@linutronix.de>
Link: https://patch.msgid.link/20260814082742.148403-2-xiaofengmian@163.com
Signed-off-by: Paul Walmsley <pjw@kernel.org>
patch_map() always creates a temporary writable mapping via fixmap for
kernel text addresses, even when CONFIG_STRICT_KERNEL_RWX is disabled
and the kernel text is already mapped with _PAGE_WRITE.

This is unnecessary overhead at best, and on minimal configurations
it can cause page faults.

Skip the fixmap path for kernel text when CONFIG_STRICT_KERNEL_RWX
is not enabled, since the text pages are already writable in that case.
The module text path is already gated on CONFIG_STRICT_MODULE_RWX and
is kept unchanged.

Reported-by: Klara Modin <klara@kasm.eu>
Closes: https://lore.kernel.org/all/ant_8TaBbov_GS4i@soda.int.kasm.eu/
Reported-by: Lad Prabhakar <prabhakar.csengg@gmail.com>
Closes: https://lore.kernel.org/all/CA+V-a8tQK8rih9SGGTyqrEBGpNkx4H0eX2YccCRrgkVAPr+EBg@mail.gmail.com/
Tested-by: Klara Modin <klarasmodin@gmail.com>
Tested-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Link: https://patch.msgid.link/20260814082742.148403-3-xiaofengmian@163.com
Signed-off-by: Paul Walmsley <pjw@kernel.org>
The Makefile has a macro called "extra-files" that sets up the
dependency on the target. Right now, for some targets that need
EXTRA_FILES added to the compilation, the dependency is left untracked.
Thus, to fix this, use the aforementioned macro.

Signed-off-by: Bill Roberts <bill.roberts@arm.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Shashiko correctly pointed out this fork bug, the report is below. This
patch fixes it by checking for the child and error conditions
explicitly.

[ ... ]
> +int test_ptrace(void)
> +{
> +     unsigned long saved_ssp, ssp = 0;
> +     struct sigaction sa = {};
> +     struct iovec iov;
> +     int status;
> +     int pid;
> +
> +     iov.iov_base = &ssp;
> +     iov.iov_len = sizeof(ssp);
> +
> +     pid = fork();
> +     if (!pid) {

[Severity: High]
This is a pre-existing issue, but could this code broadcast SIGKILL to
all user processes if fork() fails?

If fork() returns -1 due to resource limits, execution will proceed with
pid = -1. When ptrace() subsequently fails, the error path is triggered:

out_kill:
        kill(pid, SIGKILL);
        return 1;

Since pid is -1, POSIX specifies that this will kill all processes the
current user has permission to terminate, potentially crashing the host
environment.

Signed-off-by: Bill Roberts <bill.roberts@arm.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Add a test that locks the shadow stack write bit and then attempts to
disable write. The disable should fail with EPERM since it's in a locked
state. This also preserves the write bit being set for the whole test
suite as well as preserving the ability to unlock at the end.

Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Historically, managing the user-space shadow stack state on x86 has
been handled exclusively through the arch_prctl() interface via the
ARCH_SHSTK_* operations. However, other architectures (such as arm64 and
riscv) do not implement arch_prctl() and instead utilize the newer,
arch-agnostic, prctl() interface (i.e. PR_GET_SHADOW_STACK_STATUS and
PR_SET_SHADOW_STACK_STATUS).

To provide language runtimes, toolchains, and libc implementations with a
consistent, cross-architecture interface for managing control-flow
integrity, wire up the generic shadow stack prctl handlers for x86.

Map the generic PR_SHADOW_STACK_ENABLE, PR_SHADOW_STACK_DISABLE, and
PR_SHADOW_STACK_LOCK operations onto the underlying x86 internal CET helper
routines. This allows portable userspace applications to toggle or query
shadow stack states without relying on architecture-specific system calls,
while maintaining backward compatibility with existing arch_prctl() calls.

Signed-off-by: Bill Roberts <bill.roberts@arm.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
Run the same test suite for arch_prctl, against prctl, to ensure
consistency and correctness between the interfaces.

Signed-off-by: Bill Roberts <bill.roberts@arm.com>
Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
@linux-riscv-bot
linux-riscv-bot force-pushed the workflow__riscv__fixes branch 2 times, most recently from bb1a926 to 6f6f7c0 Compare August 21, 2026 03:35
@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 1: "[v3,1/5] selftests/x86: fix Makefile dependencies"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 142.95 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 1: "[v3,1/5] selftests/x86: fix Makefile dependencies"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 1137.79 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 1: "[v3,1/5] selftests/x86: fix Makefile dependencies"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 1415.29 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 1: "[v3,1/5] selftests/x86: fix Makefile dependencies"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 26.98 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 1: "[v3,1/5] selftests/x86: fix Makefile dependencies"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 27.93 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 1: "[v3,1/5] selftests/x86: fix Makefile dependencies"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 0.78 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 1: "[v3,1/5] selftests/x86: fix Makefile dependencies"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 87.86 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 1: "[v3,1/5] selftests/x86: fix Makefile dependencies"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.23 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 1: "[v3,1/5] selftests/x86: fix Makefile dependencies"
kdoc
Desc: Detects for kdoc errors
Duration: 0.90 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 1: "[v3,1/5] selftests/x86: fix Makefile dependencies"
module-param
Desc: Detect module_param changes
Duration: 0.25 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 1: "[v3,1/5] selftests/x86: fix Makefile dependencies"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.22 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 1: "[v3,1/5] selftests/x86: fix Makefile dependencies"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 0.31 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 2: "[v3,2/5] selftests/x86: fix fork bug"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 144.09 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 2: "[v3,2/5] selftests/x86: fix fork bug"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 1097.98 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 2: "[v3,2/5] selftests/x86: fix fork bug"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 1408.24 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 2: "[v3,2/5] selftests/x86: fix fork bug"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 31.57 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 2: "[v3,2/5] selftests/x86: fix fork bug"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 28.52 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 2: "[v3,2/5] selftests/x86: fix fork bug"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 0.75 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 2: "[v3,2/5] selftests/x86: fix fork bug"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 89.50 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 2: "[v3,2/5] selftests/x86: fix fork bug"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.23 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 3: "[v3,3/5] selftests/x86: add shadow stack lock test"
kdoc
Desc: Detects for kdoc errors
Duration: 0.87 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 3: "[v3,3/5] selftests/x86: add shadow stack lock test"
module-param
Desc: Detect module_param changes
Duration: 0.25 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 3: "[v3,3/5] selftests/x86: add shadow stack lock test"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.22 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 3: "[v3,3/5] selftests/x86: add shadow stack lock test"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 1.44 seconds
Result: ERROR
Output:

Commit 2d201299a57e ("selftests/x86: add shadow stack lock test")
	author Signed-off-by missing
	author email:    bill.roberts@arm.com
	committer email: linux.riscv.bot@gmail.com
	Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>

Errors in tree with Signed-off-by, please fix!


@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 4: "[v3,4/5] x86/shstk: support via prctl"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 144.37 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 4: "[v3,4/5] x86/shstk: support via prctl"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 1110.69 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 4: "[v3,4/5] x86/shstk: support via prctl"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 1406.80 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 4: "[v3,4/5] x86/shstk: support via prctl"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 26.90 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 4: "[v3,4/5] x86/shstk: support via prctl"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 27.88 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 4: "[v3,4/5] x86/shstk: support via prctl"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 1.82 seconds
Result: WARNING
Output:

CHECK: Blank lines aren't necessary before a close brace '}'
#79: FILE: arch/x86/kernel/shstk.c:668:
+
+	}

total: 0 errors, 0 warnings, 1 checks, 65 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Commit 515fb74f5343 ("x86/shstk: support via prctl") has style problems, please review.

NOTE: Ignored message types: ALLOC_SIZEOF_STRUCT CAMELCASE COMMIT_LOG_LONG_LINE GIT_COMMIT_ID MACRO_ARG_REUSE NO_AUTHOR_SIGN_OFF

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.
total: 0 errors, 0 warnings, 1 checks, 65 lines checked
CHECK: Blank lines aren't necessary before a close brace '}'


@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 4: "[v3,4/5] x86/shstk: support via prctl"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 86.49 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 4: "[v3,4/5] x86/shstk: support via prctl"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.23 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 4: "[v3,4/5] x86/shstk: support via prctl"
kdoc
Desc: Detects for kdoc errors
Duration: 0.87 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 4: "[v3,4/5] x86/shstk: support via prctl"
module-param
Desc: Detect module_param changes
Duration: 0.25 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 4: "[v3,4/5] x86/shstk: support via prctl"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.22 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 4: "[v3,4/5] x86/shstk: support via prctl"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 0.29 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 5: "[v3,5/5] selftests/x86: add generic prctl shadow stack test"
build-rv32-defconfig
Desc: Builds riscv32 defconfig
Duration: 142.80 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 5: "[v3,5/5] selftests/x86: add generic prctl shadow stack test"
build-rv64-clang-allmodconfig
Desc: Builds riscv64 allmodconfig with Clang, and checks for errors and added warnings
Duration: 1124.62 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 5: "[v3,5/5] selftests/x86: add generic prctl shadow stack test"
build-rv64-gcc-allmodconfig
Desc: Builds riscv64 allmodconfig with GCC, and checks for errors and added warnings
Duration: 1409.13 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 5: "[v3,5/5] selftests/x86: add generic prctl shadow stack test"
build-rv64-nommu-k210-defconfig
Desc: Builds riscv64 defconfig with NOMMU for K210
Duration: 27.32 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 5: "[v3,5/5] selftests/x86: add generic prctl shadow stack test"
build-rv64-nommu-k210-virt
Desc: Builds riscv64 defconfig with NOMMU for the virt platform
Duration: 28.03 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 5: "[v3,5/5] selftests/x86: add generic prctl shadow stack test"
checkpatch
Desc: Runs checkpatch.pl on the patch
Duration: 984.33 seconds
Result: ERROR
Output:

WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#46: 
new file mode 100644

CHECK: Prefer using the BIT_ULL macro
#90: FILE: tools/testing/selftests/x86/shadow_stack.c:40:
+#define SHADOW_STACK_SET_TOKEN	(1ULL << 0)

CHECK: Prefer using the BIT_ULL macro
#98: FILE: tools/testing/selftests/x86/shadow_stack.c:48:
+#define ARCH_SHSTK_SHSTK	(1ULL <<  0)

CHECK: Prefer using the BIT_ULL macro
#99: FILE: tools/testing/selftests/x86/shadow_stack.c:49:
+#define ARCH_SHSTK_WRSS		(1ULL <<  1)

CHECK: Prefer using the BIT macro
#108: FILE: tools/testing/selftests/x86/shadow_stack.c:58:
+#define PR_SHADOW_STACK_ENABLE          (1UL << 0)

CHECK: Prefer using the BIT macro
#109: FILE: tools/testing/selftests/x86/shadow_stack.c:59:
+#define PR_SHADOW_STACK_WRITE		(1UL << 1)

CHECK: Prefer using the BIT macro
#110: FILE: tools/testing/selftests/x86/shadow_stack.c:60:
+#define PR_SHADOW_STACK_PUSH		(1UL << 2)

WARNING: Prefer __always_inline over __attribute__((always_inline))
#125: FILE: tools/testing/selftests/x86/shadow_stack.c:75:
+static inline unsigned long __attribute__((always_inline)) get_ssp(void)

CHECK: spaces preferred around that '|' (ctx:VxV)
#195: FILE: tools/testing/selftests/x86/shadow_stack.c:145:
+			PR_SHADOW_STACK_ENABLE|PR_SHADOW_STACK_WRITE, 0, 0, 0))
 			                      ^

WARNING: Use of volatile is usually wrong: see Documentation/process/volatile-considered-harmful.rst
#299: FILE: tools/testing/selftests/x86/shadow_stack.c:249:
+volatile bool segv_triggered;

WARNING: Prefer noinline over __attribute__((noinline))
#301: FILE: tools/testing/selftests/x86/shadow_stack.c:251:
+void __attribute__((noinline)) violate_ss(void)

CHECK: Please don't use multiple blank lines
#819: FILE: tools/testing/selftests/x86/shadow_stack.c:769:
+
+

WARNING: Prefer noinline over __attribute__((noinline))
#903: FILE: tools/testing/selftests/x86/shadow_stack.c:853:
+static __attribute__((noinline)) void uretprobe_trigger(void)

CHECK: No space is necessary after a cast
#949: FILE: tools/testing/selftests/x86/shadow_stack.c:899:
+	attr.config1 = (__u64) (unsigned long) file;

ERROR: trailing statements should be on next line
#1100: FILE: tools/testing/selftests/x86/shadow_stack.c:1050:
+	while (waitpid(pid, &status, 0) != -1 && WSTOPSIG(status) != SIGTRAP);

CHECK: Blank lines aren't necessary after an open brace '{'
#1168: FILE: tools/testing/selftests/x86/shadow_stack.c:1118:
+{
+

CHECK: Alignment should match open parenthesis
#1190: FILE: tools/testing/selftests/x86/shadow_stack.c:1140:
+_Static_assert(PR_SHADOW_STACK_ENABLE == ARCH_SHSTK_SHSTK,
+	"Expected PR_SHADOW_STACK_ENABLE == ARCH_SHSTK_SHSTK");

CHECK: Alignment should match open parenthesis
#1192: FILE: tools/testing/selftests/x86/shadow_stack.c:1142:
+_Static_assert(PR_SHADOW_STACK_WRITE == ARCH_SHSTK_WRSS,
+	 "Expected PR_SHADOW_STACK_WRITE == ARCH_SHSTK_WRSS");

CHECK: spaces preferred around that '|' (ctx:VxV)
#1228: FILE: tools/testing/selftests/x86/shadow_stack.c:1178:
+	if (status != ((PR_SHADOW_STACK_WRITE|PR_SHADOW_STACK_ENABLE))) {
 	                                     ^

CHECK: Alignment should match open parenthesis
#1230: FILE: tools/testing/selftests/x86/shadow_stack.c:1180:
+		printf("[FAIL]\tStatus not as expected, got 0x%lx status, wanted: 0x%llx\n",
+			status, (ARCH_SHSTK_WRSS|ARCH_SHSTK_SHSTK));

CHECK: spaces preferred around that '|' (ctx:VxV)
#1230: FILE: tools/testing/selftests/x86/shadow_stack.c:1180:
+			status, (ARCH_SHSTK_WRSS|ARCH_SHSTK_SHSTK));
 			                        ^

WARNING: Improper SPDX comment style for 'tools/testing/selftests/x86/shadow_stack.h', please use '/*' instead
#1344: FILE: tools/testing/selftests/x86/shadow_stack.h:1:
+// SPDX-License-Identifier: GPL-2.0

WARNING: Missing or malformed SPDX-License-Identifier tag in line 1
#1344: FILE: tools/testing/selftests/x86/shadow_stack.h:1:
+// SPDX-License-Identifier: GPL-2.0

total: 1 errors, 7 warnings, 15 checks, 2554 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

Commit 280acdba37a1 ("selftests/x86: add generic prctl shadow stack test") has style problems, please review.

NOTE: Ignored message types: ALLOC_SIZEOF_STRUCT CAMELCASE COMMIT_LOG_LONG_LINE GIT_COMMIT_ID MACRO_ARG_REUSE NO_AUTHOR_SIGN_OFF

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.
CHECK: Alignment should match open parenthesis
CHECK: Blank lines aren't necessary after an open brace '{'
CHECK: No space is necessary after a cast
CHECK: Please don't use multiple blank lines
CHECK: Prefer using the BIT macro
CHECK: Prefer using the BIT_ULL macro
CHECK: spaces preferred around that '|' (ctx:VxV)
ERROR: trailing statements should be on next line
WARNING: Improper SPDX comment style for 'tools/testing/selftests/x86/shadow_stack.h', please use '/*' instead
WARNING: Missing or malformed SPDX-License-Identifier tag in line 1
WARNING: Prefer __always_inline over __attribute__((always_inline))
WARNING: Prefer noinline over __attribute__((noinline))
WARNING: Use of volatile is usually wrong: see Documentation/process/volatile-considered-harmful.rst
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?


fatal: You are attempting to fetch 280acdba37a156ccd011536a0b0359c73986bd88, which is in the commit graph file but not in the object database.
This is probably due to repo corruption.
If you are attempting to repair this repo corruption by refetching the missing object, use 'git fetch --refetch' with the missing object.
fatal: could not fetch 3bea0b9529522da7a957ea2025ac90599180c40d from promisor remote

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 5: "[v3,5/5] selftests/x86: add generic prctl shadow stack test"
dtb-warn-rv64
Desc: Checks for Device Tree warnings/errors
Duration: 87.65 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 5: "[v3,5/5] selftests/x86: add generic prctl shadow stack test"
header-inline
Desc: Detects static functions without inline keyword in header files
Duration: 0.28 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 5: "[v3,5/5] selftests/x86: add generic prctl shadow stack test"
kdoc
Desc: Detects for kdoc errors
Duration: 0.88 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 5: "[v3,5/5] selftests/x86: add generic prctl shadow stack test"
module-param
Desc: Detect module_param changes
Duration: 0.26 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 5: "[v3,5/5] selftests/x86: add generic prctl shadow stack test"
verify-fixes
Desc: Verifies that the Fixes: tags exist
Duration: 0.22 seconds
Result: PASS

@linux-riscv-bot

Copy link
Copy Markdown
Author

Patch 5: "[v3,5/5] selftests/x86: add generic prctl shadow stack test"
verify-signedoff
Desc: Verifies that Signed-off-by: tags are correct
Duration: 0.31 seconds
Result: PASS

@linux-riscv-bot
linux-riscv-bot deleted the pw1149213 branch August 26, 2026 00:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants