Re: [PATCH] staging: greybus: codecs: fix type confusion with dedicated list iterator variable

From: Dan Carpenter
Date: Mon Mar 21 2022 - 05:22:06 EST


On Mon, Mar 21, 2022 at 10:06:13AM +0100, Jakob Koschel wrote:
>
> > On 21. Mar 2022, at 09:48, Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote:
> >
> > The subject says that it fixes a bug but it does not.
>
> Thank you for your review!
>
> I don't agree that this doesn't fix a bug:
>
> > + }
> > }
> > if (!data) {
> > - dev_err(dai->dev, "%s:%s DATA connection missing\n",
> > - dai->name, module->name);
>
> Using 'module' when data == NULL is *guaranteed* to be a type confused
> bogus pointer. It fundamentally can never be correct.

Ah. I did not read all the way to the end of the patch.

The bugfix needs to be sent as it's own patch. Just the one liner. It
needs a fixes tag as well.

[PATCH] staging: greybus: fix Oops in error message

The "module" pointer is invalid here. It's the list iterator and we
exited the loop without finding a valid entry.

Fixes: 6dd67645f22c ("greybus: audio: Use single codec driver registration")
Signed-off-by: You

if (!data) {
- dev_err(dai->dev, "%s:%s DATA connection missing\n",
- dai->name, module->name);
+ dev_err(dai->dev, "%s DATA connection missing\n",
+ dai->name);
mutex_unlock(&codec->lock);

We're happy to apply the other stuff as well, but we don't mix cleanups
and bug fixes like that.

regards,
dan carpenter