[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e91eb5b1-295e-1a21-d153-5e0fa52b2ffe@gmail.com>
Date: Mon, 15 Nov 2021 11:30:53 +0300
From: Pavel Skripkin <paskripkin@...il.com>
To: Johan Hovold <johan@...nel.org>
Cc: mailhol.vincent@...adoo.fr, wg@...ndegger.com, mkl@...gutronix.de,
davem@...emloft.net, kuba@...nel.org, linux-can@...r.kernel.org,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] can: etas_es58x: fix error handling
On 11/15/21 11:16, Johan Hovold wrote:
> On Mon, Nov 15, 2021 at 11:15:07AM +0300, Pavel Skripkin wrote:
>> On 11/15/21 11:11, Johan Hovold wrote:
>> > Just a drive-by comment:
>> >
>> > Are you sure about this move of the netdev[channel_idx] initialisation?
>> > What happens if the registered can device is opened before you
>> > initialise the pointer? NULL-deref in es58x_send_msg()?
>> >
>> > You generally want the driver data fully initialised before you register
>> > the device so this looks broken.
>> >
>> > And either way it is arguably an unrelated change that should go in a
>> > separate patch explaining why it is needed and safe.
>> >
>>
>>
>> It was suggested by Vincent who is the maintainer of this driver [1].
>
> Yeah, I saw that, but that doesn't necessarily mean it is correct.
>
> You're still responsible for the changes you make and need to be able to
> argue why they are correct.
>
Sure! I should have check it before sending v2 :( My bad, sorry. I see
now, that there is possible calltrace which can hit NULL defer.
One thing I am wondering about is why in some code parts there are
validation checks for es58x_dev->netdev[i] and in others they are missing.
Anyway, it's completely out of scope of current patch, I am going to
resend v1 with fixed Fixes tag. Thank you for review!
With regards,
Pavel Skripkin
Powered by blists - more mailing lists