KEYS: fix parsing invalid pkey info string
authorEric Biggers <ebiggers@google.com>
Sat, 3 Nov 2018 17:30:35 +0000 (10:30 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 1 Jan 2019 21:13:19 +0000 (13:13 -0800)
commit57b0e31453209d746c99e513d80b3d0c44a80891
tree488525ecb8c89bcbdc8da1dc1eca4111870d955a
parente1ef035d272ef4dbfdda98e58699698305138856
KEYS: fix parsing invalid pkey info string

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

[ Not only did the old "-1" value for Opt_err cause problems for the
  __test_and_set_bit(), as fixed in commit 94c13f66e13c ("security:
  don't use a negative Opt_err token index"), but accessing
  "args[0].from" is invalid for the Opt_err case, as pointed out by Eric
  later.  - Linus ]

Reported-by: syzbot+a22e0dc07567662c50bc@syzkaller.appspotmail.com
Fixes: 00d60fd3b932 ("KEYS: Provide keyctls to drive the new key type ops for asymmetric keys [ver #2]")
Signed-off-by: Eric Biggers <ebiggers@google.com>
Cc: stable@kernel.org # 4.20
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
security/keys/keyctl_pkey.c