[LTP] [PATCH v2 1/1] include: Move safe_mmap into tst_safe_macros_inline.h
Jan Stancek
jstancek@redhat.com
Fri Feb 28 08:56:52 CET 2025
On Thu, Feb 27, 2025 at 6:05 PM Petr Vorel <pvorel@suse.cz> wrote:
>
> tst_safe_macros_inline.h contains functions which are forced to be
> 'inline' because the behaviour may depend on -D_FILE_OFFSET_BITS=64
> compile flag (type off_t or structures containing off_t fields).
> safe_mmap() was left from this conversion.
>
> Fixes: 3f571da28d ("include: Move inline functions to special header")
> Signed-off-by: Petr Vorel <pvorel@suse.cz>
Acked-by: Jan Stancek <jstancek@redhat.com>
> ---
> Changes v1->v2:
> * Fix build by moving also tst_prot_to_str() signature.
>
> Link to v1
> https://patchwork.ozlabs.org/project/ltp/patch/20250227165817.3166403-1-pvorel@suse.cz/
>
> Tested:
> https://github.com/pevik/ltp/actions/runs/13571853789
>
> include/tst_safe_macros.h | 29 -----------------------------
> include/tst_safe_macros_inline.h | 28 ++++++++++++++++++++++++++++
> 2 files changed, 28 insertions(+), 29 deletions(-)
>
> diff --git a/include/tst_safe_macros.h b/include/tst_safe_macros.h
> index 6985aa4bd8..3b02f86c76 100644
> --- a/include/tst_safe_macros.h
> +++ b/include/tst_safe_macros.h
> @@ -271,35 +271,6 @@ int safe_getgroups(const char *file, const int lineno, int size, gid_t list[]);
> "fcntl(%i,%s,...) failed", fd, #cmd), 0 \
> : tst_ret_;})
>
> -void tst_prot_to_str(const int prot, char *buf);
> -
> -static inline void *safe_mmap(const char *file, const int lineno,
> - void *addr, size_t length, int prot, int flags, int fd, off_t offset)
> -{
> - void *rval;
> - char prot_buf[512];
> -
> - tst_prot_to_str(prot, prot_buf);
> -
> - tst_res_(file, lineno, TDEBUG,
> - "mmap(%p, %zu, %s(%x), %d, %d, %lld)",
> - addr, length, prot_buf, prot, flags, fd, (long long int)offset);
> -
> - rval = mmap(addr, length, prot, flags, fd, offset);
> - if (rval == MAP_FAILED) {
> - tst_brk_(file, lineno, TBROK | TERRNO,
> - "mmap(%p,%zu,%s(%x),%d,%d,%ld) failed",
> - addr, length, prot_buf, prot, flags, fd, (long) offset);
> - }
> -
> - return rval;
> -}
> -
> -
> -#define SAFE_MMAP(addr, length, prot, flags, fd, offset) \
> - safe_mmap(__FILE__, __LINE__, (addr), (length), (prot), \
> - (flags), (fd), (offset))
> -
> int safe_mprotect(const char *file, const int lineno,
> char *addr, size_t len, int prot);
>
> diff --git a/include/tst_safe_macros_inline.h b/include/tst_safe_macros_inline.h
> index 5eed3a18d0..15b756860e 100644
> --- a/include/tst_safe_macros_inline.h
> +++ b/include/tst_safe_macros_inline.h
> @@ -227,4 +227,32 @@ static inline int safe_setrlimit(const char *file, const int lineno,
> #define SAFE_SETRLIMIT(resource, rlim) \
> safe_setrlimit(__FILE__, __LINE__, (resource), (rlim))
>
> +void tst_prot_to_str(const int prot, char *buf);
> +
> +static inline void *safe_mmap(const char *file, const int lineno,
> + void *addr, size_t length, int prot, int flags, int fd, off_t offset)
> +{
> + void *rval;
> + char prot_buf[512];
> +
> + tst_prot_to_str(prot, prot_buf);
> +
> + tst_res_(file, lineno, TDEBUG,
> + "mmap(%p, %zu, %s(%x), %d, %d, %lld)",
> + addr, length, prot_buf, prot, flags, fd, (long long int)offset);
> +
> + rval = mmap(addr, length, prot, flags, fd, offset);
> + if (rval == MAP_FAILED) {
> + tst_brk_(file, lineno, TBROK | TERRNO,
> + "mmap(%p,%zu,%s(%x),%d,%d,%ld) failed",
> + addr, length, prot_buf, prot, flags, fd, (long) offset);
> + }
> +
> + return rval;
> +}
> +
> +#define SAFE_MMAP(addr, length, prot, flags, fd, offset) \
> + safe_mmap(__FILE__, __LINE__, (addr), (length), (prot), \
> + (flags), (fd), (offset))
> +
> #endif /* TST_SAFE_MACROS_INLINE_H__ */
> --
> 2.47.2
>
More information about the ltp
mailing list