Skip to content

Commit

Permalink
keys, trusted: fix: *do not* allow duplicate key options
Browse files Browse the repository at this point in the history
The trusted keys option parsing allows specifying the same option
multiple times. The last option value specified is used.

This is problematic because:

* No gain.
* This makes complicated to specify options that are dependent on other
  options.

This patch changes the behavior in a way that option can be specified
only once.

Reported-by: James Morris James Morris <jmorris@namei.org>
Reviewed-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Acked-by: Peter Huewe <peterhuewe@gmx.de>
  • Loading branch information
Jarkko Sakkinen committed Dec 20, 2015
1 parent 6674ff1 commit 5208cc8
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions security/keys/trusted.c
Original file line number Diff line number Diff line change
Expand Up @@ -736,11 +736,14 @@ static int getoptions(char *c, struct trusted_key_payload *pay,
int res;
unsigned long handle;
unsigned long lock;
unsigned long token_mask = 0;

while ((p = strsep(&c, " \t"))) {
if (*p == '\0' || *p == ' ' || *p == '\t')
continue;
token = match_token(p, key_tokens, args);
if (test_and_set_bit(token, &token_mask))
return -EINVAL;

switch (token) {
case Opt_pcrinfo:
Expand Down

0 comments on commit 5208cc8

Please sign in to comment.