From: Eric Biggers <[email protected]>

We need to check the return value of match_token() for Opt_err (-1)
before doing anything with it.

Reported-by: [email protected]
Fixes: 00d60fd3b932 ("KEYS: Provide keyctls to drive the new key type ops for 
asymmetric keys [ver #2]")
Signed-off-by: Eric Biggers <[email protected]>
---
 security/keys/keyctl_pkey.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/security/keys/keyctl_pkey.c b/security/keys/keyctl_pkey.c
index 783978842f13a..987fac8051d70 100644
--- a/security/keys/keyctl_pkey.c
+++ b/security/keys/keyctl_pkey.c
@@ -50,6 +50,8 @@ static int keyctl_pkey_params_parse(struct kernel_pkey_params 
*params)
                if (*p == '\0' || *p == ' ' || *p == '\t')
                        continue;
                token = match_token(p, param_keys, args);
+               if (token == Opt_err)
+                       return -EINVAL;
                if (__test_and_set_bit(token, &token_mask))
                        return -EINVAL;
                q = args[0].from;
-- 
2.19.1

Reply via email to