mlock, mlock2, munlock: Tell the compiler we don't dereference the pointer

Since https://gcc.gnu.org/r11-959, the compiler emits
-Wmaybe-uninitialized if a const pointer to an uninitialized buffer is
passed.  Tell the compiler we don't dereference the pointer to remove
the false alarm.

Link: https://gcc.gnu.org/PR118194
Signed-off-by: Xi Ruoyao <xry111@xry111.site>
Reviewed-by: Sam James <sam@gentoo.org>
This commit is contained in:
Xi Ruoyao 2024-12-26 12:51:18 +08:00 committed by Andreas K. Hüttel
parent 58272284b6
commit 013106ae67
No known key found for this signature in database
GPG key ID: DC2B16215ED5412A
2 changed files with 6 additions and 3 deletions

View file

@ -100,10 +100,12 @@ extern int posix_madvise (void *__addr, size_t __len, int __advice) __THROW;
/* Guarantee all whole pages mapped by the range [ADDR,ADDR+LEN) to
be memory resident. */
extern int mlock (const void *__addr, size_t __len) __THROW;
extern int mlock (const void *__addr, size_t __len) __THROW
__attr_access ((__none__, 1));
/* Unlock whole pages previously mapped by the range [ADDR,ADDR+LEN). */
extern int munlock (const void *__addr, size_t __len) __THROW;
extern int munlock (const void *__addr, size_t __len) __THROW
__attr_access ((__none__, 1));
/* Cause all currently mapped pages of the process to be memory resident
until unlocked by a call to the `munlockall', until the process exits,

View file

@ -56,7 +56,8 @@ int memfd_create (const char *__name, unsigned int __flags) __THROW;
/* Lock pages from ADDR (inclusive) to ADDR + LENGTH (exclusive) into
memory. FLAGS is a combination of the MLOCK_* flags above. */
int mlock2 (const void *__addr, size_t __length, unsigned int __flags) __THROW;
int mlock2 (const void *__addr, size_t __length, unsigned int __flags) __THROW
__attr_access ((__none__, 1));
/* Allocate a new protection key, with the PKEY_DISABLE_* bits
specified in ACCESS_RESTRICTIONS. The protection key mask for the