KEYS: fix in-kernel documentation for keyctl_read() When keyctl_read() is passed a buffer that is too small, the behavior is inconsistent. Some key types will fill as much of the buffer as possible, while others won't copy anything. Moreover, the in-kernel documentation contradicted the man page on this point. Update the in-kernel documentation to say that this point is unspecified. Signed-off-by: Eric Biggers <ebiggers@google.com> Signed-off-by: David Howells <dhowells@redhat.com>
diff --git a/Documentation/security/keys/core.rst b/Documentation/security/keys/core.rst index 1266eea..9ce7256 100644 --- a/Documentation/security/keys/core.rst +++ b/Documentation/security/keys/core.rst
@@ -628,12 +628,12 @@ defined key type will return its data as is. If a key type does not implement this function, error EOPNOTSUPP will result. - As much of the data as can be fitted into the buffer will be copied to - userspace if the buffer pointer is not NULL. + If the specified buffer is too small, then the size of the buffer required + will be returned. Note that in this case, the contents of the buffer may + have been overwritten in some undefined way. - On a successful return, the function will always return the amount of data - available rather than the amount copied. - + Otherwise, on success, the function will return the amount of data copied + into the buffer. * Instantiate a partially constructed key::