Re: [PATCH] avoid crashing the kernel

From: Greg Kroah-Hartman
Date: Sun Sep 26 2021 - 02:51:58 EST


On Sat, Sep 25, 2021 at 10:04:30PM +0200, Michael Estner wrote:
> To avoid chrashing the kernel I use WARN_ON instead.
>
> Signed-off-by: Michael Estner <michaelestner@xxxxxx>
> ---
> drivers/staging/most/i2c/i2c.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)

Hi,

First off, thanks for the changes, but they need a bit more work.

Your subject line should match the others done for this file, so you
need a "staging: most:" prefix like others. To see this better, do:
git log --oneline the_file_i_am_touching.c


Also take a look at the kernel documentation for how to write a good
changelog text. Your wording above needs some work...

> diff --git a/drivers/staging/most/i2c/i2c.c b/drivers/staging/most/i2c/i2c.c
> index 7042f10887bb..e1edd892f9fd 100644
> --- a/drivers/staging/most/i2c/i2c.c
> +++ b/drivers/staging/most/i2c/i2c.c
> @@ -68,7 +68,7 @@ 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);
> + WARN_ON(ch_idx < 0 || ch_idx >= NUM_CHANNELS);

You really aren't changing much here, for systems running with "panic on
warn", right?

To solve this correctly you should either:
- determine that these are impossible to hit and remove the test
entirely
- determine that these are possible to hit, and turn them into a
real test and handle the error properly.

thanks,

greg k-h