if (ret < 0)
return log_error_errno(-1, EINVAL, "Failed to parse device string %s=%s", key, val);
- ret = bpf_list_add_device(conf, &device_item);
+ ret = bpf_list_add_device(&conf->devices, &device_item);
if (ret < 0)
return -1;
return 0;
}
}
-int bpf_list_add_device(struct lxc_conf *conf, struct device_item *device)
+int bpf_list_add_device(struct lxc_list *devices, struct device_item *device)
{
__do_free struct lxc_list *list_elem = NULL;
__do_free struct device_item *new_device = NULL;
struct lxc_list *it;
- if (!conf || !device)
+ if (!devices || !device)
return ret_errno(EINVAL);
- lxc_list_for_each(it, &conf->devices) {
+ lxc_list_for_each(it, devices) {
struct device_item *cur = it->elem;
if (cur->global_rule > LXC_BPF_DEVICE_CGROUP_LOCAL_RULE &&
return log_error_errno(-1, ENOMEM, "Failed to allocate new device item");
lxc_list_add_elem(list_elem, move_ptr(new_device));
- lxc_list_add_tail(&conf->devices, move_ptr(list_elem));
+ lxc_list_add_tail(devices, move_ptr(list_elem));
return 0;
}
__hidden extern void bpf_device_program_free(struct cgroup_ops *ops);
__hidden extern bool bpf_devices_cgroup_supported(void);
-__hidden extern int bpf_list_add_device(struct lxc_conf *conf, struct device_item *device);
+__hidden extern int bpf_list_add_device(struct lxc_list *devices,
+ struct device_item *device);
__hidden extern bool bpf_cgroup_devices_attach(struct cgroup_ops *ops,
struct lxc_list *devices);
if (unified->cgfd_mon < 0)
goto respond;
- ret = bpf_list_add_device(conf, device);
+ ret = bpf_list_add_device(&conf->devices, device);
if (ret < 0)
goto respond;