Benjamin Thery wrote: > --- linux-mm.orig/fs/sysfs/mount.c > +++ linux-mm/fs/sysfs/mount.c > @@ -16,6 +16,8 @@ > #include <linux/mount.h> > #include <linux/pagemap.h> > #include <linux/init.h> > +#include <linux/nsproxy.h> > +#include <net/net_namespace.h> > > #include "sysfs.h" > > @@ -78,6 +80,7 @@ static int sysfs_fill_super(struct super > root->d_sb = sb; > sb->s_root = root; > sb->s_fs_info = info; > + info->tag.net_ns = hold_net(current->nsproxy->net_ns); > return 0; > > out_err: > @@ -95,6 +98,9 @@ static int sysfs_test_super(struct super > struct sysfs_super_info *info = sysfs_info(sb); > int found = 1; > > + if (task->nsproxy->net_ns != info->tag.net_ns) > + found = 0; > + > return found; > } > > @@ -131,6 +137,8 @@ static void sysfs_kill_sb(struct super_b > struct sysfs_super_info *info = sysfs_info(sb); > > kill_anon_super(sb); > + if (info->tag.net_ns) > + release_net(info->tag.net_ns); > kfree(info); > } Ouch... Please don't hard code net_ns functions directly from sysfs. Please make a proper abstraction for ns, make net_ns register it and sysfs test the abstract ns. Thanks. -- tejun _______________________________________________ Containers mailing list Containers@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/containers
Report message to a moderator