aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64/kernel/signal.c
diff options
context:
space:
mode:
authorWill Deacon <will@kernel.org>2022-03-14 19:04:22 +0000
committerWill Deacon <will@kernel.org>2022-03-14 19:04:22 +0000
commit8d93b7a242b2adf36949c10b8eb9cc084a74b59a (patch)
treedc6a45f281eb89c5b35ceef5698400b9ee11b237 /arch/arm64/kernel/signal.c
parentMerge branch 'for-next/strings' into for-next/core (diff)
parentarm64: cpufeature: Warn if we attempt to read a zero width field (diff)
downloadlinux-dev-8d93b7a242b2adf36949c10b8eb9cc084a74b59a.tar.xz
linux-dev-8d93b7a242b2adf36949c10b8eb9cc084a74b59a.zip
Merge branch 'for-next/fpsimd' into for-next/core
* for-next/fpsimd: arm64: cpufeature: Warn if we attempt to read a zero width field arm64: cpufeature: Add missing .field_width for GIC system registers arm64: signal: nofpsimd: Do not allocate fp/simd context when not available arm64: cpufeature: Always specify and use a field width for capabilities arm64: Always use individual bits in CPACR floating point enables arm64: Define CPACR_EL1_FPEN similarly to other floating point controls
Diffstat (limited to 'arch/arm64/kernel/signal.c')
-rw-r--r--arch/arm64/kernel/signal.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/arm64/kernel/signal.c b/arch/arm64/kernel/signal.c
index fe83a42dac8f..50fe8eaf7df0 100644
--- a/arch/arm64/kernel/signal.c
+++ b/arch/arm64/kernel/signal.c
@@ -576,10 +576,12 @@ static int setup_sigframe_layout(struct rt_sigframe_user_layout *user,
{
int err;
- err = sigframe_alloc(user, &user->fpsimd_offset,
- sizeof(struct fpsimd_context));
- if (err)
- return err;
+ if (system_supports_fpsimd()) {
+ err = sigframe_alloc(user, &user->fpsimd_offset,
+ sizeof(struct fpsimd_context));
+ if (err)
+ return err;
+ }
/* fault information, if valid */
if (add_all || current->thread.fault_code) {