[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190503.234131.1909607319842703379.davem@davemloft.net>
Date: Fri, 03 May 2019 23:41:31 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: baijiaju1990@...il.com
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] net: via-rhine: net: Fix a resource leak in
rhine_init()
From: Jia-Ju Bai <baijiaju1990@...il.com>
Date: Sat, 4 May 2019 11:23:06 +0800
>
>
> On 2019/5/4 11:13, David Miller wrote:
>> From: Jia-Ju Bai <baijiaju1990@...il.com>
>> Date: Sat, 4 May 2019 11:08:13 +0800
>>
>>> When platform_driver_register() fails, pci_unregister_driver() is not
>>> called to release the resource allocated by pci_register_driver().
>>>
>>> To fix this bug, error handling code for platform_driver_register()
>>> and
>>> pci_register_driver() is separately implemented.
>>>
>>> This bug is found by a runtime fuzzing tool named FIZZER written by
>>> us.
>>>
>>> Signed-off-by: Jia-Ju Bai <baijiaju1990@...il.com>
>> I think the idea here is that PCI is not enabled in the kernel, it is
>> fine for the pci register to fail and only the platform register to
>> succeed.
>>
>> You are breaking that.
>
> Okay, I can understand it.
> If so, I think that platform_driver_register() should be called before
> pci_register_driver(), and it is still necessary to separately handle
> their errors.
> If you agree, I will send a v2 patch.
It is only a failure if both fail.
If at least one succeeds, the driver can potentially probe properly.
Powered by blists - more mailing lists