From: Mauro Carvalho Chehab <mchehab@kernel.org>
To: "Daniel W. S. Almeida" <dwlsalmeida@gmail.com>
Cc: linux-kernel@vger.kernel.org, skhan@linuxfoundation.org,
linux-media@vger.kernel.org
Subject: Re: [PATCH 08/20] media: pci: saa7164.c: Replace if(cond) BUG with BUG_ON
Date: Sat, 29 Aug 2020 08:44:14 +0200 [thread overview]
Message-ID: <20200829084414.701a02b8@coco.lan> (raw)
In-Reply-To: <20200807083548.204360-8-dwlsalmeida@gmail.com>
Hi Daniel,
Em Fri, 7 Aug 2020 05:35:35 -0300
"Daniel W. S. Almeida" <dwlsalmeida@gmail.com> escreveu:
> From: "Daniel W. S. Almeida" <dwlsalmeida@gmail.com>
>
> Fix the following coccinelle reports:
>
> drivers/media/pci/saa7164/saa7164-buffer.c:254:3-6: WARNING: Use BUG_ON
> instead of if condition followed by BUG.
>
> drivers/media/pci/saa7164/saa7164-buffer.c:261:3-6: WARNING: Use BUG_ON
> instead of if condition followed by BUG.
>
> Found using - Coccinelle (http://coccinelle.lip6.fr)
I ended accepting those patches, but IMO, this doesn't make
the code any better.
The thing is that very few parts of the Kernel should panic if
things go sideways. I don't think that any media driver would
apply on such cases.
As pointed at:
https://www.kernel.org/doc/html/v5.7/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through
The real fix is to use WARN_ON(), probably with something like:
if (WARN_ON(something))
return;
as probably the code after BUG() would be assuming that the
condition was asserted.
Regards,
Mauro
>
> Signed-off-by: Daniel W. S. Almeida <dwlsalmeida@gmail.com>
> ---
> drivers/media/pci/saa7164/saa7164-buffer.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/media/pci/saa7164/saa7164-buffer.c b/drivers/media/pci/saa7164/saa7164-buffer.c
> index 289cb901985b..245d9db280aa 100644
> --- a/drivers/media/pci/saa7164/saa7164-buffer.c
> +++ b/drivers/media/pci/saa7164/saa7164-buffer.c
> @@ -250,15 +250,14 @@ int saa7164_buffer_cfg_port(struct saa7164_port *port)
> list_for_each_safe(c, n, &port->dmaqueue.list) {
> buf = list_entry(c, struct saa7164_buffer, list);
>
> - if (buf->flags != SAA7164_BUFFER_FREE)
> - BUG();
> + BUG_ON(buf->flags != SAA7164_BUFFER_FREE);
>
> /* Place the buffer in the h/w queue */
> saa7164_buffer_activate(buf, i);
>
> /* Don't exceed the device maximum # bufs */
> - if (i++ > port->hwcfg.buffercount)
> - BUG();
> + BUG_ON(i > port->hwcfg.buffercount);
> + i++;
>
> }
> mutex_unlock(&port->dmaqueue_lock);
> @@ -302,4 +301,3 @@ void saa7164_buffer_dealloc_user(struct saa7164_user_buffer *buf)
>
> kfree(buf);
> }
> -
Thanks,
Mauro
prev parent reply other threads:[~2020-08-29 6:44 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-07 8:35 [PATCH 08/20] media: pci: saa7164.c: Replace if(cond) BUG with BUG_ON Daniel W. S. Almeida
2020-08-29 6:44 ` Mauro Carvalho Chehab [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200829084414.701a02b8@coco.lan \
--to=mchehab@kernel.org \
--cc=dwlsalmeida@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=skhan@linuxfoundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.