X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=wrapper%2Ffdtable.h;h=86a6a079a507026f3162d7322ba979bc232e93c3;hb=71c5729c47c806cda99a2afa8073fe699d8849d2;hp=72830a50df3ff595b74d541695cabe3132ce4a04;hpb=9f36eaed6f91d5897924b551b44d1edd8cee00e2;p=lttng-modules.git diff --git a/wrapper/fdtable.h b/wrapper/fdtable.h index 72830a50..86a6a079 100644 --- a/wrapper/fdtable.h +++ b/wrapper/fdtable.h @@ -8,10 +8,24 @@ #ifndef _LTTNG_WRAPPER_FDTABLE_H #define _LTTNG_WRAPPER_FDTABLE_H -#include +#include #include -#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0)) +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,11,0)) +static inline +struct file *lttng_lookup_fd_rcu(unsigned int fd) +{ + return lookup_fd_rcu(fd); +} +#else +static inline +struct file *lttng_lookup_fd_rcu(unsigned int fd) +{ + return fcheck(fd); +} +#endif + +#if (LTTNG_LINUX_VERSION_CODE < LTTNG_KERNEL_VERSION(3,7,0)) int lttng_iterate_fd(struct files_struct *files, unsigned int first, @@ -28,4 +42,21 @@ int lttng_iterate_fd(struct files_struct *files, #define lttng_iterate_fd iterate_fd #endif + +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,4,0)) + +static inline bool lttng_close_on_exec(int fd, const struct fdtable *fdt) +{ + return close_on_exec(fd, fdt); +} + +#else + +static inline bool lttng_close_on_exec(int fd, const struct fdtable *fdt) +{ + return FD_ISSET(fd, fdt->close_on_exec); +} + +#endif + #endif /* _LTTNG_WRAPPER_FDTABLE_H */