On Wed, Aug 5, 2020 at 2:01 PM Jiri Olsa <jolsa@xxxxxxxxxx> wrote: > > On Wed, Aug 05, 2020 at 07:58:54PM +0200, Jiri Olsa wrote: > > On Tue, Aug 04, 2020 at 11:35:53PM -0700, Andrii Nakryiko wrote: > > > On Sat, Aug 1, 2020 at 10:04 AM Jiri Olsa <jolsa@xxxxxxxxxx> 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) > > > > > > nit: probably would be good to do `const struct path *` here, even if > > > we don't do const-ification properly in all helpers. > > hum, for this I need to update scripts/bpf_helpers_doc.py and it looks > like it's not ready for const struct yet: > > CLNG-LLC [test_maps] get_cgroup_id_kern.o > In file included from progs/test_lwt_ip_encap.c:7: > In file included from /home/jolsa/linux/tools/testing/selftests/bpf/tools/include/bpf/bpf_helpers.h:11: > /home/jolsa/linux/tools/testing/selftests/bpf/tools/include/bpf/bpf_helper_defs.h:32:1: warning: 'const' ignored on this declaration [-Wmissing-declarations] > const struct path; > ^ > > would it be ok as a follow up change? I'll need to check > on bpf_helpers_doc.py script first yeah, no big deal > > jirka >