On 2/3/21 6:48 PM, Marcelo Ricardo Leitner wrote:
> From: Marcelo Ricardo Leitner <marcelo.leit...@gmail.com>
> 
> Often userspace won't request the extack information, or they don't log it
> because of log level or so, and even when they do, sometimes it's not
> enough to know exactly what caused the error.
> 
> Netlink extack is the standard way of reporting erros with descriptive
> error messages. With a trace point on it, we then can know exactly where
> the error happened, regardless of userspace app. Also, we can even see if
> the err msg was overwritten.
> 
> The wrapper do_trace_netlink_extack() is because trace points shouldn't be
> called from .h files, as trace points are not that small, and the function
> call to do_trace_netlink_extack() on the macros is not protected by
> tracepoint_enabled() because the macros are called from modules, and this
> would require exporting some trace structs. As this is error path, it's
> better to export just the wrapper instead.
> 
> v2: removed leftover tracepoint declaration
> Signed-off-by: Marcelo Ricardo Leitner <marcelo.leit...@gmail.com>
> ---
>  include/linux/netlink.h        |  6 ++++++
>  include/trace/events/netlink.h | 29 +++++++++++++++++++++++++++++
>  net/netlink/af_netlink.c       |  8 ++++++++
>  3 files changed, 43 insertions(+)
>  create mode 100644 include/trace/events/netlink.h
> 

Reviewed-by: David Ahern <dsah...@kernel.org>

Reply via email to