]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
netlink: include file and line in netlink ABI errors
authorArturo Borrero <arturo.borrero.glez@gmail.com>
Mon, 15 Sep 2014 12:10:45 +0000 (14:10 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Tue, 16 Sep 2014 16:57:56 +0000 (18:57 +0200)
Let's give some more information when netlink ABI errors happens.

Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
include/netlink.h
src/netlink.c

index f611452f4a77817e3db8b8a7ffbc5b9730cf2ede..2df374223572e76f35fd85d51d8d96bc00cef493 100644 (file)
@@ -139,7 +139,9 @@ extern void netlink_dump_set(struct nft_set *nls);
 extern int netlink_batch_send(struct list_head *err_list);
 
 extern void netlink_restart(void);
-extern void netlink_abi_error(void) __noreturn;
+#define netlink_abi_error()    \
+       __netlink_abi_error(__FILE__, __LINE__, strerror(errno));
+extern void __noreturn __netlink_abi_error(const char *file, int line, const char *reason);
 extern int netlink_io_error(struct netlink_ctx *ctx,
                            const struct location *loc, const char *fmt, ...);
 extern void netlink_open_error(void) __noreturn;
index 7d3e71ff1a03963c4dfafe184f72b290c8c52a5f..84d5db3c8c5a116aaa3cd8f507b1d2fee1fa91ea 100644 (file)
@@ -80,10 +80,11 @@ static void netlink_open_mon_sock(void)
        nf_mon_sock = nfsock_open();
 }
 
-void __noreturn netlink_abi_error(void)
+void __noreturn __netlink_abi_error(const char *file, int line,
+                                   const char *reason)
 {
        fprintf(stderr, "E: Contact urgently your Linux kernel vendor. "
-               "Netlink ABI is broken: %s\n", strerror(errno));
+               "Netlink ABI is broken: %s:%d %s\n", file, line, reason);
        exit(NFT_EXIT_FAILURE);
 }