[LTP] [PATCH v5 1/3] Add SAFE_MPROTECT() macro
Cyril Hrubis
chrubis@suse.cz
Wed Mar 13 10:59:00 CET 2024
Hi!
> +static inline int safe_mprotect(const char *file, const int lineno,
> + char *addr, size_t len, int prot)
> +{
> + int rval;
> + char *prot_buf;
> +
> + prot_buf = (char*) safe_malloc(file, lineno, 0, 512);
> + prot_to_str(prot, prot_buf);
> +
> + tst_res_(file, lineno, TDEBUG,
> + "mprotect(%p, %ld, %s(%x))", addr, len, prot_buf, prot);
> +
> + free(prot_buf);
> +
> + rval = mprotect(addr, len, prot);
> +
> + if (rval == -1) {
> + tst_brk_(file, lineno, TBROK | TERRNO,
> + "mprotect() failed");
> + } else if (rval) {
> + tst_brk_(file, lineno, TBROK | TERRNO,
> + "Invalid mprotect() return value %d", rval);
> + }
Ah, and can we please print the whole parameter list for mprotect() in
these two cases as well?
> + return rval;
> +}
> +#define SAFE_MPROTECT(addr, len, prot) \
> + safe_mprotect(__FILE__, __LINE__, (addr), (len), (prot))
> +
> static inline int safe_ftruncate(const char *file, const int lineno,
> int fd, off_t length)
> {
> --
> 2.35.3
>
>
> --
> Mailing list info: https://lists.linux.it/listinfo/ltp
--
Cyril Hrubis
chrubis@suse.cz
More information about the ltp
mailing list