]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/blobdiff - kernel/cgroup/cgroup-internal.h
cgroup: make TRACE_CGROUP_PATH irq-safe
[mirror_ubuntu-focal-kernel.git] / kernel / cgroup / cgroup-internal.h
index 02c001ffe2e2d887ced5f8e213e01c3f074bfdaa..809e34a3c017260d1fba519a5fd3640cf19bf135 100644 (file)
@@ -28,12 +28,15 @@ extern void __init enable_debug_cgroup(void);
 #define TRACE_CGROUP_PATH(type, cgrp, ...)                             \
        do {                                                            \
                if (trace_cgroup_##type##_enabled()) {                  \
-                       spin_lock(&trace_cgroup_path_lock);             \
+                       unsigned long flags;                            \
+                       spin_lock_irqsave(&trace_cgroup_path_lock,      \
+                                         flags);                       \
                        cgroup_path(cgrp, trace_cgroup_path,            \
                                    TRACE_CGROUP_PATH_LEN);             \
                        trace_cgroup_##type(cgrp, trace_cgroup_path,    \
                                            ##__VA_ARGS__);             \
-                       spin_unlock(&trace_cgroup_path_lock);           \
+                       spin_unlock_irqrestore(&trace_cgroup_path_lock, \
+                                              flags);                  \
                }                                                       \
        } while (0)