Re: [PATCH] exit: Allow oops_limit to be disabled

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Dec 02, 2022 at 01:06:21PM -0800, Kees Cook wrote:

> --- a/kernel/exit.c
> +++ b/kernel/exit.c
> @@ -954,7 +954,7 @@ 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))
> +	if (atomic_inc_return(&oops_count) >= READ_ONCE(oops_limit) && oops_limit)
>  		panic("Oopsed too often (kernel.oops_limit is %d)", oops_limit);
>  

That's dodgy, please write as:

	limit = READ_ONCE(oops_limit);
	if (atomic_inc_return(&oops_count) >= limit && limit)

So we don't explicitly add a reload that negates the whole READ_ONCE().



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux