summaryrefslogtreecommitdiff
path: root/arch/arm64/kernel/signal.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2023-01-18 11:56:01 +0100
committerIngo Molnar <mingo@kernel.org>2023-01-18 11:56:57 +0100
commit65adf3a57c0c2e79c5c2b72a4bdcabcab9e99ec1 (patch)
treeee08845127f4cd8d6fc816fbaf0e5f6f4330bc58 /arch/arm64/kernel/signal.c
parent9fcad995c6c52cc9791f7ee9f1386a5684055f9c (diff)
parent5dc4c995db9eb45f6373a956eb1f69460e69e6d4 (diff)
downloadlinux-65adf3a57c0c2e79c5c2b72a4bdcabcab9e99ec1.tar.gz
linux-65adf3a57c0c2e79c5c2b72a4bdcabcab9e99ec1.tar.bz2
linux-65adf3a57c0c2e79c5c2b72a4bdcabcab9e99ec1.zip
Merge tag 'v6.2-rc4' into perf/core, to pick up fixes
Move from the -rc1 base to the fresher -rc4 kernel that has various fixes included, before applying a larger patchset. Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/arm64/kernel/signal.c')
-rw-r--r--arch/arm64/kernel/signal.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/arm64/kernel/signal.c b/arch/arm64/kernel/signal.c
index e0d09bf5b01b..be279fd48248 100644
--- a/arch/arm64/kernel/signal.c
+++ b/arch/arm64/kernel/signal.c
@@ -281,7 +281,12 @@ static int restore_sve_fpsimd_context(struct user_ctxs *user)
vl = task_get_sme_vl(current);
} else {
- if (!system_supports_sve())
+ /*
+ * A SME only system use SVE for streaming mode so can
+ * have a SVE formatted context with a zero VL and no
+ * payload data.
+ */
+ if (!system_supports_sve() && !system_supports_sme())
return -EINVAL;
vl = task_get_sve_vl(current);
@@ -732,7 +737,7 @@ static int setup_sigframe_layout(struct rt_sigframe_user_layout *user,
return err;
}
- if (system_supports_sve()) {
+ if (system_supports_sve() || system_supports_sme()) {
unsigned int vq = 0;
if (add_all || test_thread_flag(TIF_SVE) ||