On Sat, Aug 01, 2020 at 07:03:18PM +0200, Jiri Olsa wrote: > Adding d_path helper function that returns full path for > given 'struct path' object, which needs to be the kernel > BTF 'path' object. The path is returned in buffer provided > 'buf' of size 'sz' and is zero terminated. > > bpf_d_path(&file->f_path, buf, size); > > The helper calls directly d_path function, so there's only > limited set of function it can be called from. Adding just > very modest set for the start. > > Updating also bpf.h tools uapi header and adding 'path' to > bpf_helpers_doc.py script. > > Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> > --- > include/uapi/linux/bpf.h | 13 +++++++++ > kernel/trace/bpf_trace.c | 48 ++++++++++++++++++++++++++++++++++ > scripts/bpf_helpers_doc.py | 2 ++ > tools/include/uapi/linux/bpf.h | 13 +++++++++ > 4 files changed, 76 insertions(+) > > diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h > index eb5e0c38eb2c..a356ea1357bf 100644 > --- a/include/uapi/linux/bpf.h > +++ b/include/uapi/linux/bpf.h > @@ -3389,6 +3389,18 @@ union bpf_attr { > * A non-negative value equal to or less than *size* on success, > * or a negative error in case of failure. > * > + * int bpf_d_path(struct path *path, char *buf, u32 sz) Please make it return 'long'. As you well ware the generated code will be better.