Subject: Re: commit dd4cf8c9e1f4 leads to failed boot

From: Bert Karwatzki <[email-masked]>
Date: Wed, 23 Apr 2025 16:59:24 +0200

Am Mittwoch, dem 23.04.2025 um 07:18 -0700 schrieb Paul E. McKenney:
> On Wed, Apr 23, 2025 at 07:09:42PM +0530, Aithal, Srikanth wrote:
> > On 4/23/2025 5:24 PM, Bert Karwatzki wrote:
> > > Since linux next-20250422 booting fails on my MSI Alpha 15 Laptop runnning
> > > debian sid. When booting kernel message appear on screen but no messages from
> > > init (systemd). There are also no logs written even thought emergency sync
> > > via magic sysrq works (a message is printed on screen), presumably because
> > > / is not mounted. I bisected this (from 6.15-rc3 to next-20250422) and found
> > > commit dd4cf8c9e1f4 as the first bad commit.
> > > Reverting commit dd4cf8c9e1f4 in next-20250422 fixes the issue.
> > 
> > 
> > Hello,
> > 
> > On AMD platform as well boot failed starting next-20250422, bisecting the
> > issue led me to same commit dd4cf8c9e1f4. I have attached kernel config and
> > logs.
> 
> Thank you all for the bisection and the report!
> 
> Please check out the predecessor of commit dd4cf8c9e1f4 ("ratelimit:
> Force re-initialization when rate-limiting re-enabled"):
> 
> 13fa70e052dd ("ratelimit: Allow zero ->burst to disable ratelimiting")

The predecessor commit is 24ff89c63355 ("ratelimit: Allow zero ->burst to
disable ratelimiting") in linux-next.

> 
> Then please apply the patch shown below, and let me know what happens?
> (Yes, I should have split that commit up...)
> 
> 							Thanx, Paul
> 
> ------------------------------------------------------------------------
> 
> diff --git a/lib/ratelimit.c b/lib/ratelimit.c
> index 04f16b8e24575..13ed636642270 100644
> --- a/lib/ratelimit.c
> +++ b/lib/ratelimit.c
> @@ -35,7 +35,7 @@ int ___ratelimit(struct ratelimit_state *rs, const char *func)
>  	unsigned long flags;
>  	int ret;
>  
> -	if (!interval || !burst)
> +	if (interval <= 0 || burst <= 0)
>  		return 1;
>  
>  	/*

The patch applied on top of 24ff89c63355 ("ratelimit: Allow zero ->burst to
disable ratelimiting") works fine.

Bert Karwatzki