On 2023/7/9 06:02, Daniel Xu wrote: > Hi Leon, > > On Sat, Jul 08, 2023 at 12:07:48PM +0800, Leon Hwang wrote: >> This series introduces bpf user log to transfer error message from >> kernel space to user space when users provide buffer to receive the >> error message. >> >> Especially, when to attach XDP to device, it can transfer the error >> message along with errno from dev_xdp_attach() to user space, if error >> happens in dev_xdp_attach(). > > Have you considered adding a tracepoint instead? With some TP_printk() > stuff I think you can achieve a similar result without having to do > go through changing uapi. If just for dev_xdp_attach(), I think netlink approach is better than tracepoint approach. As for BPF syscall, error message along with errno through uapi is a good UX, like "create link: invalid argument (Invalid XDP flags for BPF link attachment)" when failed to attach XDP to a device. Hence, users are able to know the error details instead of -EINVAL or "invalid argument" only. Furthermore, as for other BPF syscall subcommands, we are able to provide error message along with errno by bpf_ulog_once(&attr->xxx.ulog, "An error").