Add some missing access function attributes
authorSteve Grubb <sgrubb@redhat.com>
Thu, 10 Mar 2022 00:26:33 +0000 (05:56 +0530)
committerSiddhesh Poyarekar <siddhesh@sourceware.org>
Thu, 10 Mar 2022 00:26:33 +0000 (05:56 +0530)
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>
misc/sys/xattr.h
stdlib/sys/random.h

index 2d53a38..bf8f35c 100644 (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.  */
index ea5b98d..8c2ef9c 100644 (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