summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2019-05-02 14:06:23 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2019-05-02 16:29:30 +0200
commit9ddc4362ce64a0b273c2fbcb819fa061aadd02a5 (patch)
tree766d4b76b931e9d700d4d265d0d4ff2c0c540a59 /include
parent9c0ed46f68cada9f3455be91adb553d020012596 (diff)
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 <pablo@netfilter.org>
Diffstat (limited to 'include')
-rw-r--r--include/internal/internal.h7
1 files changed, 7 insertions, 0 deletions
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