public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
From: Siddhesh Poyarekar <siddhesh@sourceware.org>
To: glibc-cvs@sourceware.org
Subject: [glibc] Add some missing access function attributes
Date: Thu, 10 Mar 2022 00:27:45 +0000 (GMT)	[thread overview]
Message-ID: <20220310002745.58CF0385840E@sourceware.org> (raw)

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=590f5992b66a0f105eabf2eae35e8704cbf9a59e

commit 590f5992b66a0f105eabf2eae35e8704cbf9a59e
Author: Steve Grubb <sgrubb@redhat.com>
Date:   Thu Mar 10 05:56:33 2022 +0530

    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>

Diff:
---
 misc/sys/xattr.h    | 22 +++++++++++++---------
 stdlib/sys/random.h |  6 ++++--
 2 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/misc/sys/xattr.h b/misc/sys/xattr.h
index 2d53a38268..bf8f35c514 100644
--- a/misc/sys/xattr.h
+++ b/misc/sys/xattr.h
@@ -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.  */
diff --git a/stdlib/sys/random.h b/stdlib/sys/random.h
index ea5b98d166..8c2ef9ca81 100644
--- a/stdlib/sys/random.h
+++ b/stdlib/sys/random.h
@@ -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


                 reply	other threads:[~2022-03-10  0:27 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220310002745.58CF0385840E@sourceware.org \
    --to=siddhesh@sourceware.org \
    --cc=glibc-cvs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).