On 18/2/25 11:01, Alexei Starovoitov wrote: > On Mon, Feb 17, 2025 at 7:44 AM Leon Hwang <leon.hwang@xxxxxxxxx> wrote: >> >> When a freplace program fails to attach to a target, the error message >> lacks details, making debugging difficult. This patch enhances error >> reporting by providing a log that explains why the attachment failed. > > Agree that it lacks details... > >> For example, if a freplace program tries to attach to a static function, >> the log now includes: >> >> libbpf: prog 'new_test_pkt_access': failed to attach to freplace: -EINVAL >> libbpf: prog 'new_test_pkt_access': attach log: subprog_tail() is not a global function > > ... but adding to uapi for a minor usability improvement... > not a long term path that is worth taking. > Especially since freplace is special. Users don't interact with it > directly. The interaction is typically done through libraries. > So this extra verbosity won't help users directly, but will > help people who write libraries. Nice, but no. What if libbpf allows users to interact with it directly? As for cilium/ebpf library, it will be able to provide the error message to users like: create link: subprog_tail() is not a global function instead of: create link: invalid argument Thanks, Leon