File tree Expand file tree Collapse file tree 2 files changed +9
-4
lines changed Expand file tree Collapse file tree 2 files changed +9
-4
lines changed Original file line number Diff line number Diff line change @@ -931,6 +931,7 @@ void __noreturn make_task_dead(int signr)
931931 * Then do everything else.
932932 */
933933 struct task_struct * tsk = current ;
934+ unsigned int limit ;
934935
935936 if (unlikely (in_interrupt ()))
936937 panic ("Aiee, killing interrupt handler!" );
@@ -954,8 +955,9 @@ void __noreturn make_task_dead(int signr)
954955 * To make sure this can't happen, place an upper bound on how often the
955956 * kernel may oops without panic().
956957 */
957- if (atomic_inc_return (& oops_count ) >= READ_ONCE (oops_limit ) && oops_limit )
958- panic ("Oopsed too often (kernel.oops_limit is %d)" , oops_limit );
958+ limit = READ_ONCE (oops_limit );
959+ if (atomic_inc_return (& oops_count ) >= limit && limit )
960+ panic ("Oopsed too often (kernel.oops_limit is %d)" , limit );
959961
960962 /*
961963 * We're taking recursive faults here in make_task_dead. Safest is to just
Original file line number Diff line number Diff line change @@ -231,12 +231,15 @@ static void panic_print_sys_info(bool console_flush)
231231
232232void check_panic_on_warn (const char * origin )
233233{
234+ unsigned int limit ;
235+
234236 if (panic_on_warn )
235237 panic ("%s: panic_on_warn set ...\n" , origin );
236238
237- if (atomic_inc_return (& warn_count ) >= READ_ONCE (warn_limit ) && warn_limit )
239+ limit = READ_ONCE (warn_limit );
240+ if (atomic_inc_return (& warn_count ) >= limit && limit )
238241 panic ("%s: system warned too often (kernel.warn_limit is %d)" ,
239- origin , warn_limit );
242+ origin , limit );
240243}
241244
242245/**
You can’t perform that action at this time.
0 commit comments