[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <2025102130-siberian-rut-3a96@gregkh>
Date: Tue, 21 Oct 2025 14:24:47 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: Olle Lukowski <olle@...owski.dev>
Cc: Parthiban Veerasooran <parthiban.veerasooran@...rochip.com>,
Christian Gromm <christian.gromm@...rochip.com>,
linux-staging@...ts.linux.dev, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/3] staging: most: i2c: replace BUG_ON() with
WARN_ON_ONCE() and return error
On Tue, Oct 21, 2025 at 03:16:27PM +0300, Olle Lukowski wrote:
> Replace BUG_ON() checks for invalid channel indices with WARN_ON_ONCE()
> and return -EINVAL to avoid crashing the kernel unnecessarily.
>
> Signed-off-by: Olle Lukowski <olle@...owski.dev>
> ---
> drivers/staging/most/i2c/i2c.c | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/staging/most/i2c/i2c.c b/drivers/staging/most/i2c/i2c.c
> index 184b2dd11..b9267c3fc 100644
> --- a/drivers/staging/most/i2c/i2c.c
> +++ b/drivers/staging/most/i2c/i2c.c
> @@ -71,7 +71,8 @@ static int configure_channel(struct most_interface *most_iface,
> struct hdm_i2c *dev = to_hdm(most_iface);
> unsigned int delay, pr;
>
> - BUG_ON(ch_idx < 0 || ch_idx >= NUM_CHANNELS);
> + if (WARN_ON_ONCE(ch_idx < 0 || ch_idx >= NUM_CHANNELS))
> + return -EINVAL;
If this is something that can actually ever happen, this change really
doesn't do anything well. Many systems (i.e. the HUGE majority of Linux
instances in the world, billions) are running with panic-on-warn set, so
that means this will still reboot the box.
So please, just properly handle the issue and return an error and do not
panic the system.
Same for the other patches in this series.
thanks,
greg k-h
Powered by blists - more mailing lists