]> git.baikalelectronics.ru Git - kernel.git/commit
security: don't use a negative Opt_err token index
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 17 Dec 2018 19:39:57 +0000 (11:39 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 18 Dec 2018 00:21:48 +0000 (16:21 -0800)
commitbb22a623fd6a7b35d33c57514fb0120adf6000b9
treefdb0e06e028ac68d890e677a88cd1a26ba4f37b1
parentcdabd85799ad6fbcc9b19037eea605d7b7de6d15
security: don't use a negative Opt_err token index

The code uses a bitmap to check for duplicate tokens during parsing, and
that doesn't work at all for the negative Opt_err token case.

There is absolutely no reason to make Opt_err be negative, and in fact
it only confuses things, since some of the affected functions actually
return a positive Opt_xyz enum _or_ a regular negative error code (eg
-EINVAL), and using -1 for Opt_err makes no sense.

There are similar problems in ima_policy.c and key encryption, but they
don't have the immediate bug wrt bitmap handing, and ima_policy.c in
particular needs a different patch to make the enum values match the
token array index.  Mimi is sending that separately.

Reported-by: syzbot+a22e0dc07567662c50bc@syzkaller.appspotmail.com
Reported-by: Eric Biggers <ebiggers@kernel.org>
Fixes: 8cab8e86cb9b ("keys, trusted: fix: *do not* allow duplicate key options")
Fixes: d6d9537d1824 ("KEYS: Provide keyctls to drive the new key type ops for asymmetric keys [ver #2]")
Cc: James Morris James Morris <jmorris@namei.org>
Cc: Mimi Zohar <zohar@linux.vnet.ibm.com>
Cc: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Cc: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
security/keys/keyctl_pkey.c
security/keys/trusted.c