Re: [PATCH][next] ASoC: soc-pcm: Fix uninitialised return value in variable ret

From: Dan Carpenter
Date: Tue Jan 12 2021 - 05:23:56 EST


On Mon, Jan 11, 2021 at 05:37:36PM +0000, Colin Ian King wrote:
> On 11/01/2021 16:35, Mark Brown wrote:
> > On Fri, Jan 08, 2021 at 12:35:46PM +0000, Colin King wrote:
> >> From: Colin Ian King <colin.king@xxxxxxxxxxxxx>
> >>
> >> Currently when attempting to start the BE fails because the
> >> FE is not started the error return variable ret is not initialized
> >> and garbage is returned. Fix this by setting it to 0 so the
> >
> > This doesn't apply against current code, please check and resend.
> >
>
> Current ASoC tree now has two commits:
>
> commit 4eeed5f40354735c4e68e71904db528ed19c9cbb
> Author: Souptick Joarder <jrdr.linux@xxxxxxxxx>
> Date: Sat Jan 9 09:15:01 2021 +0530
>
> ASoC: soc-pcm: return correct -ERRNO in failure path
>
> commit e91b65b36fde0690f1c694f17dd1b549295464a7
> Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
> Date: Mon Jan 11 12:50:21 2021 +0300
>
> ASoC: soc-pcm: Fix an uninitialized error code
>
> ..both set ret to non-zero, which I believe will throw a subsequent
> warning messagethat's not strictly related.

My patch restored the original behavior. And I think that errors should
return error codes. What you're saying is basically "Returning an error
is a bug because it will trigger an error message in the caller". So
then we have to have a debate about printks as a layering violation.

I don't like error messages generally, because I think they make the
code messy. A lot of people put error messages for impossible things.
Or if a kmalloc() fails or whatever. There are too many error messages
which people add in an auto-pilot way without considering whether it's
necessary.

But some people think, and maybe they're correct, that it's best if
every function in the call tree prints a message. That way you can
trace the error path easily.

regards,
dan carpenter