aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sys.c
diff options
context:
space:
mode:
authorCatalin Marinas <catalin.marinas@arm.com>2019-08-15 16:44:00 +0100
committerWill Deacon <will@kernel.org>2019-08-20 18:17:55 +0100
commit3e91ec89f527b9870fe42dcbdb74fd389d123a95 (patch)
tree9b384e277452dacf60078c979b87c780bbc0cc97 /kernel/sys.c
parentselftests, arm64: fix uninitialized symbol in tags_test.c (diff)
downloadlinux-dev-3e91ec89f527b9870fe42dcbdb74fd389d123a95.tar.xz
linux-dev-3e91ec89f527b9870fe42dcbdb74fd389d123a95.zip
arm64: Tighten the PR_{SET, GET}_TAGGED_ADDR_CTRL prctl() unused arguments
Require that arg{3,4,5} of the PR_{SET,GET}_TAGGED_ADDR_CTRL prctl and arg2 of the PR_GET_TAGGED_ADDR_CTRL prctl() are zero rather than ignored for future extensions. Acked-by: Andrey Konovalov <andreyknvl@google.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to '')
-rw-r--r--kernel/sys.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/sys.c b/kernel/sys.c
index c6c4d5358bd3..ec48396b4943 100644
--- a/kernel/sys.c
+++ b/kernel/sys.c
@@ -2499,9 +2499,13 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3,
error = PAC_RESET_KEYS(me, arg2);
break;
case PR_SET_TAGGED_ADDR_CTRL:
+ if (arg3 || arg4 || arg5)
+ return -EINVAL;
error = SET_TAGGED_ADDR_CTRL(arg2);
break;
case PR_GET_TAGGED_ADDR_CTRL:
+ if (arg2 || arg3 || arg4 || arg5)
+ return -EINVAL;
error = GET_TAGGED_ADDR_CTRL();
break;
default: