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. */
extern int setxattr (const char *__path, const char *__name,
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
SIZE bytes long), not following symlinks for the last pathname component.
Return 0 on success, -1 for errors. */
extern int lsetxattr (const char *__path, const char *__name,
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
bytes long). Return 0 on success, -1 for errors. */
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
SIZE bytes long). Return 0 on success, -1 for errors. */
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
SIZE bytes long), not following symlinks for the last pathname component.
Return 0 on success, -1 for errors. */
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
bytes long). Return 0 on success, -1 for errors. */
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
buffer LIST (which is SIZE bytes big). Return 0 on success, -1 for
errors. */
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
buffer LIST (which is SIZE bytes big), not following symlinks for the
last pathname component. Return 0 on success, -1 for errors. */
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 (which is SIZE bytes big). Return 0 on success, -1 for errors. */
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
on success, -1 for errors. */

View File

@ -32,11 +32,13 @@ __BEGIN_DECLS
/* Write LENGTH bytes of randomness starting at BUFFER. Return the
number of bytes written, or -1 on error. */
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
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