On Sat, Jan 08, 2022 at 01:46:23PM +0000, Yafang Shao wrote: > We noticed our tc ebpf tools can't start after we upgrade our in-house > kernel version from 4.19 to 5.10. That is because of the behaviour change > in bpffs caused by commit > d2935de7e4fd ("vfs: Convert bpf to use the new mount API"). > > In our tc ebpf tools, we do strict environment check. If the enrioment is > not match, we won't allow to start the ebpf progs. One of the check is > whether bpffs is properly mounted. The mount information of bpffs in > kernel-4.19 and kernel-5.10 are as follows, > > - kenrel 4.19 > $ mount -t bpf bpffs /sys/fs/bpf > $ mount -t bpf > bpffs on /sys/fs/bpf type bpf (rw,relatime) > > - kernel 5.10 > $ mount -t bpf bpffs /sys/fs/bpf > $ mount -t bpf > none on /sys/fs/bpf type bpf (rw,relatime) > > The device name in kernel-5.10 is displayed as none instead of bpffs, > then our environment check fails. Currently we modify the tools to adopt to > the kernel behaviour change, but I think we'd better change the kernel code > to keep the behavior consistent. > > After this change, the mount information will be displayed the same with > the behavior in kernel-4.19, for example, > > $ mount -t bpf bpffs /sys/fs/bpf > $ mount -t bpf > bpffs on /sys/fs/bpf type bpf (rw,relatime) > > Fixes: d2935de7e4fd ("vfs: Convert bpf to use the new mount API") > Suggested-by: Daniel Borkmann <daniel@xxxxxxxxxxxxx> > Signed-off-by: Yafang Shao <laoar.shao@xxxxxxxxx> > Cc: David Howells <dhowells@xxxxxxxxxx> > Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> > > --- > v1->v2: > use the helper vfs_parse_fs_param_source() instead of open-coded (Daniel) > --- Looks good, Acked-by: Christian Brauner <christian.brauner@xxxxxxxxxx>