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

From: Jakob Koschel
Date: Mon Mar 21 2022 - 05:27:17 EST




> On 21. Mar 2022, at 10:21, Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote:
>
> 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.

ok great, I'll separate and resubmit both. Thanks!

>
> regards,
> dan carpenter

Jakob