Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4303ef19 authored by Dan Carpenter's avatar Dan Carpenter Committed by Linus Torvalds
Browse files

KEYS: Propagate error code instead of returning -EINVAL



This is from a Smatch check I'm writing.

strncpy_from_user() returns -EFAULT on error so the first change just
silences a warning but doesn't change how the code works.

The other change is a bug fix because install_thread_keyring_to_cred()
can return a variety of errors such as -EINVAL, -EEXIST, -ENOMEM or
-EKEYREVOKED.

Signed-off-by: default avatarDan Carpenter <error27@gmail.com>
Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 7e27d6e7
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -33,7 +33,7 @@ static int key_get_type_from_user(char *type,
	ret = strncpy_from_user(type, _type, len);

	if (ret < 0)
		return -EFAULT;
		return ret;

	if (ret == 0 || ret >= len)
		return -EINVAL;
@@ -1080,7 +1080,7 @@ set:
	return old_setting;
error:
	abort_creds(new);
	return -EINVAL;
	return ret;

} /* end keyctl_set_reqkey_keyring() */