From 9ddc4362ce64a0b273c2fbcb819fa061aadd02a5 Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Thu, 2 May 2019 14:06:23 +0200 Subject: src: introduce abi_breakage() Changes in the netlink attribute layout is considered to be a kernel ABI breakage, so report this immediately and stop execution, instead of lazy error back to the client application, which cannot do anything with this. Signed-off-by: Pablo Neira Ayuso --- include/internal/internal.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'include') diff --git a/include/internal/internal.h b/include/internal/internal.h index 45b4aa7..bb44e12 100644 --- a/include/internal/internal.h +++ b/include/internal/internal.h @@ -85,4 +85,11 @@ struct nf_ct_tcp_flags { #define NFCT_BITMASK_AND 0 #define NFCT_BITMASK_OR 1 +#define __noreturn __attribute__((__noreturn__)) + +void __noreturn __abi_breakage(const char *file, int line, const char *reason); + +#define abi_breakage() \ + __abi_breakage(__FILE__, __LINE__, strerror(errno)); + #endif -- cgit v1.2.3