arm64: Add 32-bit sigcontext definition to uapi signcontext.h

The arm64 uapi sigcontext.h can be included by 32-bit userspace
modules.  Since arm and arm64 sigcontext definition are not
compatible, add arm sigcontext definition to arm64 sigcontext.h.

Signed-off-by: David Ng <dave@codeaurora.org>
Signed-off-by: Divya Sharma <c_shard@codeaurora.org>
Signed-off-by: Anh Nguyen <anguyen@codeaurora.org>
Change-Id: Iaed58045fd345e4ca66e8a6981c6b4f80c4bdfca
This commit is contained in:
David Ng authored and Aaron Kling committed 2026-08-22 16:55:14 -05:00
1 parent 2a2508ba6a
commit 1a60ba4e2a
2 files changed
+55 -2

No files matched your search

+32
View File
@@ -19,6 +19,7 @@
#ifndef __ASSEMBLER__
#ifdef CONFIG_64BIT
#include <linux/types.h>
/*
@@ -192,6 +193,37 @@ struct gcs_context {
__u64 reserved;
};
#else /* CONFIG_64BIT */
/*
* Signal context structure - contains all info to do with the state
* before the signal handler was invoked. Note: only add new entries
* to the end of the structure.
*/
struct sigcontext {
unsigned long trap_no;
unsigned long error_code;
unsigned long oldmask;
unsigned long arm_r0;
unsigned long arm_r1;
unsigned long arm_r2;
unsigned long arm_r3;
unsigned long arm_r4;
unsigned long arm_r5;
unsigned long arm_r6;
unsigned long arm_r7;
unsigned long arm_r8;
unsigned long arm_r9;
unsigned long arm_r10;
unsigned long arm_fp;
unsigned long arm_ip;
unsigned long arm_sp;
unsigned long arm_lr;
unsigned long arm_pc;
unsigned long arm_cpsr;
unsigned long fault_address;
};
#endif /* CONFIG_64BIT */
#endif /* !__ASSEMBLER__ */
#include <asm/sve_context.h>
+23 -2
View File
@@ -64,10 +64,31 @@ configs=$(sed -e '
d
' $OUTFILE)
# The entries in the following list do not result in an error.
# Please do not add a new entry. This list is only for existing ones.
# The list will be reduced gradually, and deleted eventually. (hopefully)
#
# The format is <file-name>:<CONFIG-option> in each line.
config_leak_ignores="
arch/arm64/include/uapi/asm/sigcontext.h:CONFIG_64BIT
"
for c in $configs
do
echo "error: $INFILE: leak $c to user-space" >&2
exit 1
leak_error=1
for ignore in $config_leak_ignores
do
if echo "$INFILE:$c" | grep -q "$ignore$"; then
leak_error=
break
fi
done
if [ "$leak_error" = 1 ]; then
echo "error: $INFILE: leak $c to user-space" >&2
exit 1
fi
done
rm -f $TMPFILE