[PATCH] bus: fsl-mc: don't assume child devices are all fsl-mc devices

Laurentiu Tudor laurentiu.tudor at nxp.com
Wed Feb 1 03:50:11 PST 2023


Hi Greg,

On 1/31/2023 1:56 PM, Greg KH wrote:
> On Fri, Jan 27, 2023 at 03:16:36PM +0200, laurentiu.tudor at nxp.com wrote:
>> From: Laurentiu Tudor <laurentiu.tudor at nxp.com>
>>
>> Changes in VFIO caused a pseudo-device to be created as child of
>> fsl-mc devices causing a crash [1] when trying to bind a fsl-mc
>> device to VFIO. Fix this by checking the device type when enumerating
>> fsl-mc child devices.
> 
> What changes?  What commit id does this fix?  Does it need to be
> backported?

There were a lot of changes in the VFIO area but I'd point at this 
commit [1].

I'll resend the patch with a "Fixes:" tag pointing at this commit if 
that's ok with you.

> And what type of "pseudo device" is being created? 
> Why would it be passed to this driver if it's the wrong type?

It's not passed to the driver per-se. The problem shows up when the 
implementation of the driver does a device_for_each_child() [2] and the 
callback blindly assumes that all enumerated children devices are fsl-mc 
devices. The patch just adds a check for this case.

[1] 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=3c28a76124b25882411f005924be73795b6ef078
[2] 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/bus/fsl-mc/dprc-driver.c?#n96

---
Thanks & Best Regards, Laurentiu



More information about the linux-arm-kernel mailing list