Add some missing access function attributes

This patch adds some missing access function attributes to getrandom /
getentropy and several functions in sys/xattr.h

Reviewed-by: Siddhesh Poyarekar <siddhesh@sourceware.org>
This commit is contained in:
Steve Grubb 2022-03-10 05:56:33 +05:30 committed by Siddhesh Poyarekar
parent edc696a73a
commit 590f5992b6
2 changed files with 17 additions and 11 deletions

View File

@ -40,52 +40,56 @@ enum
is SIZE bytes long). Return 0 on success, -1 for errors. */ is SIZE bytes long). Return 0 on success, -1 for errors. */
extern int setxattr (const char *__path, const char *__name, extern int setxattr (const char *__path, const char *__name,
const void *__value, size_t __size, int __flags) const void *__value, size_t __size, int __flags)
__THROW; __THROW __attr_access ((__read_only__, 3, 4));
/* Set the attribute NAME of the file pointed to by PATH to VALUE (which is /* Set the attribute NAME of the file pointed to by PATH to VALUE (which is
SIZE bytes long), not following symlinks for the last pathname component. SIZE bytes long), not following symlinks for the last pathname component.
Return 0 on success, -1 for errors. */ Return 0 on success, -1 for errors. */
extern int lsetxattr (const char *__path, const char *__name, extern int lsetxattr (const char *__path, const char *__name,
const void *__value, size_t __size, int __flags) const void *__value, size_t __size, int __flags)
__THROW; __THROW __attr_access ((__read_only__, 3, 4));
/* Set the attribute NAME of the file descriptor FD to VALUE (which is SIZE /* Set the attribute NAME of the file descriptor FD to VALUE (which is SIZE
bytes long). Return 0 on success, -1 for errors. */ bytes long). Return 0 on success, -1 for errors. */
extern int fsetxattr (int __fd, const char *__name, const void *__value, extern int fsetxattr (int __fd, const char *__name, const void *__value,
size_t __size, int __flags) __THROW; size_t __size, int __flags)
__THROW __attr_access ((__read_only__, 3, 4));
/* Get the attribute NAME of the file pointed to by PATH to VALUE (which is /* Get the attribute NAME of the file pointed to by PATH to VALUE (which is
SIZE bytes long). Return 0 on success, -1 for errors. */ SIZE bytes long). Return 0 on success, -1 for errors. */
extern ssize_t getxattr (const char *__path, const char *__name, extern ssize_t getxattr (const char *__path, const char *__name,
void *__value, size_t __size) __THROW; void *__value, size_t __size)
__THROW __attr_access ((__write_only__, 3, 4));
/* Get the attribute NAME of the file pointed to by PATH to VALUE (which is /* Get the attribute NAME of the file pointed to by PATH to VALUE (which is
SIZE bytes long), not following symlinks for the last pathname component. SIZE bytes long), not following symlinks for the last pathname component.
Return 0 on success, -1 for errors. */ Return 0 on success, -1 for errors. */
extern ssize_t lgetxattr (const char *__path, const char *__name, extern ssize_t lgetxattr (const char *__path, const char *__name,
void *__value, size_t __size) __THROW; void *__value, size_t __size)
__THROW __attr_access ((__write_only__, 3, 4));
/* Get the attribute NAME of the file descriptor FD to VALUE (which is SIZE /* Get the attribute NAME of the file descriptor FD to VALUE (which is SIZE
bytes long). Return 0 on success, -1 for errors. */ bytes long). Return 0 on success, -1 for errors. */
extern ssize_t fgetxattr (int __fd, const char *__name, void *__value, extern ssize_t fgetxattr (int __fd, const char *__name, void *__value,
size_t __size) __THROW; size_t __size)
__THROW __attr_access ((__write_only__, 3, 4));
/* List attributes of the file pointed to by PATH into the user-supplied /* List attributes of the file pointed to by PATH into the user-supplied
buffer LIST (which is SIZE bytes big). Return 0 on success, -1 for buffer LIST (which is SIZE bytes big). Return 0 on success, -1 for
errors. */ errors. */
extern ssize_t listxattr (const char *__path, char *__list, size_t __size) extern ssize_t listxattr (const char *__path, char *__list, size_t __size)
__THROW; __THROW __attr_access ((__write_only__, 2, 3));
/* List attributes of the file pointed to by PATH into the user-supplied /* List attributes of the file pointed to by PATH into the user-supplied
buffer LIST (which is SIZE bytes big), not following symlinks for the buffer LIST (which is SIZE bytes big), not following symlinks for the
last pathname component. Return 0 on success, -1 for errors. */ last pathname component. Return 0 on success, -1 for errors. */
extern ssize_t llistxattr (const char *__path, char *__list, size_t __size) extern ssize_t llistxattr (const char *__path, char *__list, size_t __size)
__THROW; __THROW __attr_access ((__write_only__, 2, 3));
/* List attributes of the file descriptor FD into the user-supplied buffer /* List attributes of the file descriptor FD into the user-supplied buffer
LIST (which is SIZE bytes big). Return 0 on success, -1 for errors. */ LIST (which is SIZE bytes big). Return 0 on success, -1 for errors. */
extern ssize_t flistxattr (int __fd, char *__list, size_t __size) extern ssize_t flistxattr (int __fd, char *__list, size_t __size)
__THROW; __THROW __attr_access ((__write_only__, 2, 3));
/* Remove the attribute NAME from the file pointed to by PATH. Return 0 /* Remove the attribute NAME from the file pointed to by PATH. Return 0
on success, -1 for errors. */ on success, -1 for errors. */

View File

@ -32,11 +32,13 @@ __BEGIN_DECLS
/* Write LENGTH bytes of randomness starting at BUFFER. Return the /* Write LENGTH bytes of randomness starting at BUFFER. Return the
number of bytes written, or -1 on error. */ number of bytes written, or -1 on error. */
ssize_t getrandom (void *__buffer, size_t __length, ssize_t getrandom (void *__buffer, size_t __length,
unsigned int __flags) __wur; unsigned int __flags) __wur
__attr_access ((__write_only__, 1, 2));
/* Write LENGTH bytes of randomness starting at BUFFER. Return 0 on /* Write LENGTH bytes of randomness starting at BUFFER. Return 0 on
success or -1 on error. */ success or -1 on error. */
int getentropy (void *__buffer, size_t __length) __wur; int getentropy (void *__buffer, size_t __length) __wur
__attr_access ((__write_only__, 1, 2));
__END_DECLS __END_DECLS