|
@@ -142,7 +142,7 @@ static void cgrp_destroy(struct cgroup *cgrp)
|
|
|
rtnl_lock();
|
|
|
for_each_netdev(&init_net, dev) {
|
|
|
map = rtnl_dereference(dev->priomap);
|
|
|
- if (map)
|
|
|
+ if (map && cs->prioidx < map->priomap_len)
|
|
|
map->priomap[cs->prioidx] = 0;
|
|
|
}
|
|
|
rtnl_unlock();
|
|
@@ -166,7 +166,7 @@ static int read_priomap(struct cgroup *cont, struct cftype *cft,
|
|
|
rcu_read_lock();
|
|
|
for_each_netdev_rcu(&init_net, dev) {
|
|
|
map = rcu_dereference(dev->priomap);
|
|
|
- priority = map ? map->priomap[prioidx] : 0;
|
|
|
+ priority = (map && prioidx < map->priomap_len) ? map->priomap[prioidx] : 0;
|
|
|
cb->fill(cb, dev->name, priority);
|
|
|
}
|
|
|
rcu_read_unlock();
|