summaryrefslogtreecommitdiff
path: root/include/linux/netlink.h
diff options
context:
space:
mode:
authorDaniel Borkmann <daniel@iogearbox.net>2017-05-03 01:39:17 +0300
committerDavid S. Miller <davem@davemloft.net>2017-05-03 16:51:24 +0300
commit4d463c4dbc5c1c5d73e488d52faeec05570443a0 (patch)
treee0a16bcaab65f32a34cc6edaef61b34ca6e4a5ef /include/linux/netlink.h
parent6d717134a1a6e1b34a7d0d70e953037bc2642046 (diff)
downloadlinux-4d463c4dbc5c1c5d73e488d52faeec05570443a0.tar.xz
xdp: use common helper for netlink extended ack reporting
Small follow-up to d74a32acd59a ("xdp: use netlink extended ACK reporting") in order to let drivers all use the same NL_SET_ERR_MSG_MOD() helper macro for reporting. This also ensures that we consistently add the driver's prefix for dumping the report in user space to indicate that the error message is driver specific and not coming from core code. Furthermore, NL_SET_ERR_MSG_MOD() now reuses NL_SET_ERR_MSG() and thus makes all macros check the pointer as suggested. References: https://www.spinics.net/lists/netdev/msg433267.html Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com> Reviewed-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/netlink.h')
-rw-r--r--include/linux/netlink.h19
1 files changed, 8 insertions, 11 deletions
diff --git a/include/linux/netlink.h b/include/linux/netlink.h
index c20395edf2de..5fff5ba5964e 100644
--- a/include/linux/netlink.h
+++ b/include/linux/netlink.h
@@ -86,19 +86,16 @@ struct netlink_ext_ack {
* Currently string formatting is not supported (due
* to the lack of an output buffer.)
*/
-#define NL_SET_ERR_MSG(extack, msg) do { \
- static const char _msg[] = (msg); \
- \
- (extack)->_msg = _msg; \
+#define NL_SET_ERR_MSG(extack, msg) do { \
+ static const char __msg[] = (msg); \
+ struct netlink_ext_ack *__extack = (extack); \
+ \
+ if (__extack) \
+ __extack->_msg = __msg; \
} while (0)
-#define NL_MOD_TRY_SET_ERR_MSG(extack, msg) do { \
- static const char _msg[] = KBUILD_MODNAME ": " msg; \
- struct netlink_ext_ack *_extack = (extack); \
- \
- if (_extack) \
- _extack->_msg = _msg; \
-} while (0)
+#define NL_SET_ERR_MSG_MOD(extack, msg) \
+ NL_SET_ERR_MSG((extack), KBUILD_MODNAME ": " msg)
extern void netlink_kernel_release(struct sock *sk);
extern int __netlink_change_ngroups(struct sock *sk, unsigned int groups);