mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
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: [email protected] Reported-by: Eric Biggers <[email protected]> Fixes:5208cc8342("keys, trusted: fix: *do not* allow duplicate key options") Fixes:00d60fd3b9("KEYS: Provide keyctls to drive the new key type ops for asymmetric keys [ver #2]") Cc: James Morris James Morris <[email protected]> Cc: Mimi Zohar <[email protected]> Cc: Jarkko Sakkinen <[email protected]> Cc: Peter Huewe <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
7566ec393f
commit
94c13f66e1
2 changed files with 2 additions and 2 deletions
|
|
@ -25,7 +25,7 @@ static void keyctl_pkey_params_free(struct kernel_pkey_params *params)
|
|||
}
|
||||
|
||||
enum {
|
||||
Opt_err = -1,
|
||||
Opt_err,
|
||||
Opt_enc, /* "enc=<encoding>" eg. "enc=oaep" */
|
||||
Opt_hash, /* "hash=<digest-name>" eg. "hash=sha1" */
|
||||
};
|
||||
|
|
|
|||
|
|
@ -711,7 +711,7 @@ static int key_unseal(struct trusted_key_payload *p,
|
|||
}
|
||||
|
||||
enum {
|
||||
Opt_err = -1,
|
||||
Opt_err,
|
||||
Opt_new, Opt_load, Opt_update,
|
||||
Opt_keyhandle, Opt_keyauth, Opt_blobauth,
|
||||
Opt_pcrinfo, Opt_pcrlock, Opt_migratable,
|
||||
|
|
|
|||
Loading…
Reference in a new issue