#include <linux/device_cgroup.h>
#include <linux/cgroup.h>
#include <linux/ctype.h>
+#include <linux/export.h>
#include <linux/list.h>
#include <linux/uaccess.h>
#include <linux/seq_file.h>
dev_cgroup = cgroup_to_devcgroup(cgroup);
list_for_each_entry_safe(wh, tmp, &dev_cgroup->whitelist, list) {
- list_del_rcu(&wh->list);
- kfree_rcu(wh, rcu);
+ list_del(&wh->list);
+ kfree(wh);
}
kfree(dev_cgroup);
}
{
struct dev_whitelist_item *whitem;
- list_for_each_entry_rcu(whitem, &c->whitelist, list) {
+ list_for_each_entry(whitem, &c->whitelist, list) {
if (whitem->type & DEV_ALL)
return 1;
if ((refwh->type & DEV_BLOCK) && !(whitem->type & DEV_BLOCK))
return -EPERM;
}
+EXPORT_SYMBOL(__devcgroup_inode_permission);
int devcgroup_inode_mknod(int mode, dev_t dev)
{