Source
502
502
* revalidate_active_exceptions - walks through the active exception list and
503
503
* revalidates the exceptions based on parent's
504
504
* behavior and exceptions. The exceptions that
505
505
* are no longer valid will be removed.
506
506
* Called with devcgroup_mutex held.
507
507
* @devcg: cgroup which exceptions will be checked
508
508
*
509
509
* This is one of the three key functions for hierarchy implementation.
510
510
* This function is responsible for re-evaluating all the cgroup's active
511
511
* exceptions due to a parent's exception change.
512
-
* Refer to Documentation/cgroups/devices.txt for more details.
512
+
* Refer to Documentation/cgroup-v1/devices.txt for more details.
513
513
*/
514
514
static void revalidate_active_exceptions(struct dev_cgroup *devcg)
515
515
{
516
516
struct dev_exception_item *ex;
517
517
struct list_head *this, *tmp;
518
518
​
519
519
list_for_each_safe(this, tmp, &devcg->exceptions) {
520
520
ex = container_of(this, struct dev_exception_item, list);
521
521
if (!parent_has_perm(devcg, ex))
522
522
dev_exception_rm(devcg, ex);