Skip to contentSkip to conversation

KEYS: fix in-kernel documentation for keyctl_read()

PATCH New Eric Biggers 1 participant 1 message Nov 2, 2017

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 KEYS: fix in-kernel documentation for keyctl_read()

From: Eric Biggers <[email protected]>

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.

---
 Documentation/security/keys/core.rst | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
Documentation/security/keys/core.rst +5 -5
index 1266eeae45f6..9ce7256c6edb 100644
@@ -628,12 +628,12 @@ The keyctl syscall functions are:
      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.
-
-     On a successful return, the function will always return the amount of data
-     available rather than the amount copied.
+     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.
 
+     Otherwise, on success, the function will return the amount of data copied
+     into the buffer.
 
   *  Instantiate a partially constructed key::
 
Signature · 1 line
2.15.0.403.gc27cc4dac6-goog