[LTP] [PATCH v5 3/5] Add fchmodat2 fallback definition

Petr Vorel pvorel@suse.cz
Fri Aug 2 11:55:03 CEST 2024


Hi Andrea,


>  include/lapi/stat.h | 16 ++++++++++++++++
What is the reason this to be added to include/lapi/stat.h?

It's not a general function? (otherwise tst_safe_macros.c would be more
appropriate).

And because one day it will be defined in <sys/stat.h>?

Probably ok due both reasons, but I'm just curious, also because static inline
brought various problems in the past.


>  1 file changed, 16 insertions(+)

> diff --git a/include/lapi/stat.h b/include/lapi/stat.h
> index 3606c9eb0..8e38ecfef 100644
> --- a/include/lapi/stat.h
> +++ b/include/lapi/stat.h
> @@ -229,4 +229,20 @@ static inline int statx(int dirfd, const char *pathname, unsigned int flags,
>  # define STATX_ATTR_VERITY	0x00100000
>  #endif

> +#define SAFE_FCHMODAT2(dfd, filename, mode, flags) \
> +	safe_fchmodat2(__FILE__, __LINE__, (dfd), (filename), (mode), (flags))
> +
> +static inline int safe_fchmodat2(const char *file, const int lineno,
> +		int dfd, const char *filename, mode_t mode, int flags)
> +{
> +	int ret;
> +
> +	ret = tst_syscall(__NR_fchmodat2, dfd, filename, mode, flags);
> +	if (ret == -1)
> +		tst_brk_(file, lineno, TBROK | TERRNO, "%s(%d,%s,%d,%d) error",
> +			__func__, dfd, filename, mode, flags);
> +
> +	return ret;

The code itself is obviously correct.

Reviewed-by: Petr Vorel <pvorel@suse.cz>

Kind regards,
Petr

> +}
> +
>  #endif /* LAPI_STAT_H__ */


More information about the ltp mailing list