From: Emanuele Rocca Date: Wed, 6 May 2026 15:43:58 +0000 (+0000) Subject: include: add coredump_code to struct pidfd_info X-Git-Tag: v261-rc1~91^2~2 X-Git-Url: http://git.ipfire.org/gitweb/index.cgi?a=commitdiff_plain;h=577f2f975d09f10bade176cbdbb49ed414630489;p=thirdparty%2Fsystemd.git include: add coredump_code to struct pidfd_info Linux v7.1 adds coredump_code to struct pidfd_info and defines a few new constants. Reflect the changes in include/override/sys/pidfd.h too. Stop including the libc version of sys/pidfd.h to be able to override the definition of pidfd_info. Signed-off-by: Emanuele Rocca --- diff --git a/src/include/override/sys/pidfd.h b/src/include/override/sys/pidfd.h index 0e9b2f39989..28fb75698ed 100644 --- a/src/include/override/sys/pidfd.h +++ b/src/include/override/sys/pidfd.h @@ -1,15 +1,6 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include - -/* since glibc-2.36. Only descend into the next on glibc — musl ships no such header, - * and musl-gcc's -idirafter /usr/include would otherwise pull in glibc's copy (which depends on - * __THROW and other glibc-isms) from the fallback path. */ -#if defined(__GLIBC__) && __has_include_next() -#include_next /* IWYU pragma: export */ -#endif - #include #include #include @@ -49,8 +40,14 @@ int pidfd_send_signal_shim(int fd, int sig, siginfo_t *info, unsigned flags); #define PIDFD_INFO_CGROUPID (1UL << 2) /* Always returned if available, even if not requested */ #define PIDFD_INFO_EXIT (1UL << 3) /* Only returned if requested. */ #define PIDFD_INFO_COREDUMP (1UL << 4) /* Only returned if requested. */ +#define PIDFD_INFO_SUPPORTED_MASK (1UL << 5) /* Want/got supported mask flags */ +#define PIDFD_INFO_COREDUMP_SIGNAL (1UL << 6) /* Always returned if PIDFD_INFO_COREDUMP is requested. */ +#define PIDFD_INFO_COREDUMP_CODE (1UL << 7) /* Always returned if PIDFD_INFO_COREDUMP is requested. */ #define PIDFD_INFO_SIZE_VER0 64 /* sizeof first published struct */ +#define PIDFD_INFO_SIZE_VER1 72 /* sizeof second published struct */ +#define PIDFD_INFO_SIZE_VER2 80 /* sizeof third published struct */ +#define PIDFD_INFO_SIZE_VER3 88 /* sizeof fourth published struct */ /* * Values for @coredump_mask in pidfd_info. @@ -105,8 +102,13 @@ struct pidfd_info { __u32 fsuid; __u32 fsgid; __s32 exit_code; /* since kernel v6.15 (7477d7dce48a996ae4e4f0b5f7bd82de7ec9131b) */ - __u32 coredump_mask; /* since kernel v6.16 (1d8db6fd698de1f73b1a7d72aea578fdd18d9a87) */ - __u32 __spare1; + struct { /* coredump info */ + __u32 coredump_mask; /* since kernel v6.16 (1d8db6fd698de1f73b1a7d72aea578fdd18d9a87) */ + __u32 coredump_signal; /* since kernel v6.19 (036375522be8425874e9e0f907c7127e315c7a52) */ + __u32 coredump_code; /* since kernel v7.1 (701f7f4fbabbf4989ba6fbf033b160dd943221d5) */ + __u32 coredump_pad; /* since kernel v7.1 (701f7f4fbabbf4989ba6fbf033b160dd943221d5) */ + }; + __u64 supported_mask; /* Mask flags that this kernel supports */ }; #define PIDFD_GET_INFO _IOWR(PIDFS_IOCTL_MAGIC, 11, struct pidfd_info)