Merge tag 'cgroup-for-6.2-rc7-fixes' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / kernel / exit.c
index deffb8e..15dc2ec 100644 (file)
@@ -931,6 +931,7 @@ void __noreturn make_task_dead(int signr)
         * Then do everything else.
         */
        struct task_struct *tsk = current;
+       unsigned int limit;
 
        if (unlikely(in_interrupt()))
                panic("Aiee, killing interrupt handler!");
@@ -954,8 +955,9 @@ void __noreturn make_task_dead(int signr)
         * To make sure this can't happen, place an upper bound on how often the
         * kernel may oops without panic().
         */
-       if (atomic_inc_return(&oops_count) >= READ_ONCE(oops_limit) && oops_limit)
-               panic("Oopsed too often (kernel.oops_limit is %d)", oops_limit);
+       limit = READ_ONCE(oops_limit);
+       if (atomic_inc_return(&oops_count) >= limit && limit)
+               panic("Oopsed too often (kernel.oops_limit is %d)", limit);
 
        /*
         * We're taking recursive faults here in make_task_dead. Safest is to just