diff options
author | David Howells <dhowells@redhat.com> | 2012-05-21 07:32:13 -0400 |
---|---|---|
committer | James Morris <james.l.morris@oracle.com> | 2012-05-25 06:51:42 -0400 |
commit | 423b9788023263364ea5de04189f02bd9b6a12db (patch) | |
tree | fc3ee4814aa8322fb2abb01c50d96568aa51bd9b /security/keys/compat.c | |
parent | ff2bb047c4bce9742e94911eeb44b4d6ff4734ab (diff) |
KEYS: Fix some sparse warnings
Fix some sparse warnings in the keyrings code:
(1) compat_keyctl_instantiate_key_iov() should be static.
(2) There were a couple of places where a pointer was being compared against
integer 0 rather than NULL.
(3) keyctl_instantiate_key_common() should not take a __user-labelled iovec
pointer as the caller must have copied the iovec to kernel space.
(4) __key_link_begin() takes and __key_link_end() releases
keyring_serialise_link_sem under some circumstances and so this should be
declared.
Note that adding __acquires() and __releases() for this doesn't help cure
the warnings messages - something only commenting out both helps.
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: James Morris <james.l.morris@oracle.com>
Diffstat (limited to 'security/keys/compat.c')
-rw-r--r-- | security/keys/compat.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/security/keys/compat.c b/security/keys/compat.c index fab4f8dda6c6..e35ae1d208a8 100644 --- a/security/keys/compat.c +++ b/security/keys/compat.c | |||
@@ -24,7 +24,7 @@ | |||
24 | * | 24 | * |
25 | * If successful, 0 will be returned. | 25 | * If successful, 0 will be returned. |
26 | */ | 26 | */ |
27 | long compat_keyctl_instantiate_key_iov( | 27 | static long compat_keyctl_instantiate_key_iov( |
28 | key_serial_t id, | 28 | key_serial_t id, |
29 | const struct compat_iovec __user *_payload_iov, | 29 | const struct compat_iovec __user *_payload_iov, |
30 | unsigned ioc, | 30 | unsigned ioc, |
@@ -33,7 +33,7 @@ long compat_keyctl_instantiate_key_iov( | |||
33 | struct iovec iovstack[UIO_FASTIOV], *iov = iovstack; | 33 | struct iovec iovstack[UIO_FASTIOV], *iov = iovstack; |
34 | long ret; | 34 | long ret; |
35 | 35 | ||
36 | if (_payload_iov == 0 || ioc == 0) | 36 | if (!_payload_iov || !ioc) |
37 | goto no_payload; | 37 | goto no_payload; |
38 | 38 | ||
39 | ret = compat_rw_copy_check_uvector(WRITE, _payload_iov, ioc, | 39 | ret = compat_rw_copy_check_uvector(WRITE, _payload_iov, ioc, |