> +struct cgroup *__cgroup_from_dentry(struct dentry *dentry, struct cftype **cftp) > { > - if (file_inode(file)->i_fop != &cgroup_file_operations) > - return ERR_PTR(-EINVAL); > - return __d_cft(file->f_dentry); > + if (!dentry->d_inode || > + dentry->d_inode->i_op != &cgroup_file_inode_operations) > + return NULL; > + > + if (cftp) > + *cftp = __d_cft(dentry); > + return __d_cgrp(dentry->d_parent); > } > +EXPORT_SYMBOL_GPL(__cgroup_from_dentry); As we don't expect new users, why export this symbol? memcg can't be built as a module. > > static int cgroup_create_file(struct dentry *dentry, umode_t mode, > struct super_block *sb) > @@ -3953,7 +3956,7 @@ static int cgroup_write_notify_on_release(struct cgroup_subsys_state *css, > * > * That's why we hold a reference before dput() and drop it right after. > */ > -static void cgroup_dput(struct cgroup *cgrp) > +void __cgroup_dput(struct cgroup *cgrp) > { > struct super_block *sb = cgrp->root->sb; > > @@ -3961,6 +3964,7 @@ static void cgroup_dput(struct cgroup *cgrp) > dput(cgrp->dentry); > deactivate_super(sb); > } > +EXPORT_SYMBOL_GPL(__cgroup_dput); ditto -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>