mqueue and bpf go through rather painful and similar contortions to create objects in their dentry trees. Provide a primitive for doing that without abusing ->mknod(), switch bpf and mqueue to it. Another mqueue-related thing that has ended up in that branch is on-demand creation of internal mount (based upon the work of Giuseppe Scrivano). The following changes since commit ae64f9bd1d3621b5e60d7363bc20afb46aede215: Linux 4.15-rc2 (2017-12-03 11:01:47 -0500) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git work.mqueue for you to fetch changes up to 36735a6a2b5e042db1af956ce4bcc13f3ff99e21: mqueue: switch to on-demand creation of internal mount (2018-01-05 11:54:37 -0500) ---------------------------------------------------------------- Al Viro (9): new primitive: vfs_mkobj() bpf_obj_do_pin(): switch to vfs_mkobj(), quit abusing ->mknod() mqueue: switch to vfs_mkobj(), quit abusing ->d_fsdata move dentry_open() calls up into do_mq_open() mqueue: fold mq_attr_ok() into mqueue_get_inode() do_mq_open(): move all work prior to dentry_open() into a helper mqueue: clean prepare_open() up tidy do_mq_open() up a bit mqueue: switch to on-demand creation of internal mount fs/namei.c | 21 +++++ include/linux/fs.h | 4 + ipc/mqueue.c | 241 ++++++++++++++++++++++++----------------------------- kernel/bpf/inode.c | 50 +++++------ 4 files changed, 158 insertions(+), 158 deletions(-)