From 7f3bb8f20dcccaceea8b1ee05f0560b81162037b Mon Sep 17 00:00:00 2001 From: Luca Boccassi Date: Wed, 26 Apr 2023 14:19:33 +0100 Subject: coredump filter: add mask for 'all' using UINT32_MAX, not UINT64_MAX The kernel returns ERANGE when UINT64_MAX is passed. Create a mask and use UINT32_max, which is accepted, so that future bits will also be set. --- src/shared/coredump-util.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/shared/coredump-util.h') diff --git a/src/shared/coredump-util.h b/src/shared/coredump-util.h index 99dbfde730..4f54bb94c0 100644 --- a/src/shared/coredump-util.h +++ b/src/shared/coredump-util.h @@ -22,6 +22,9 @@ typedef enum CoredumpFilter { 1u << COREDUMP_FILTER_ELF_HEADERS | \ 1u << COREDUMP_FILTER_PRIVATE_HUGE) +/* The kernel doesn't like UINT64_MAX and returns ERANGE, use UINT32_MAX to support future new flags */ +#define COREDUMP_FILTER_MASK_ALL UINT32_MAX + const char* coredump_filter_to_string(CoredumpFilter i) _const_; CoredumpFilter coredump_filter_from_string(const char *s) _pure_; int coredump_filter_mask_from_string(const char *s, uint64_t *ret); -- cgit v1.2.1