On Thu, 31 Mar 2022 10:38:34 +0200, Won Chung wrote:
On Thu, Mar 31, 2022 at 12:27 AM Takashi Iwai tiwai@suse.de wrote:
On Wed, 30 Mar 2022 23:19:13 +0200, Won Chung wrote:
Component match callback function needs to check if expected data is passed to it. Without this check, it can cause a NULL pointer dereference when another driver registers a component before i915 drivers have their component master fully bind.
Fixes: 7b882fe3e3e8b ("ALSA: hda - handle multiple i915 device instances") Signed-off-by: Heikki Krogerus heikki.krogerus@linux.intel.com Signed-off-by: Mika Westerberg mika.westerberg@linux.intel.com Signed-off-by: Won Chung wonchung@google.com
- Add "Fixes" tag
- Send to stable@vger.kernel.org
You rather need to add "Cc: stable@vger.kernel.org" line to the patch itself (around sign-off block), not actually Cc'ing the mail. I edited manually, but please do it so at the next time.
Although I applied the patch as-is now, I wonder...
if (!strcmp(dev->driver->name, "i915") &&
if (dev->driver && !strcmp(dev->driver->name, "i915") &&
Can NULL dev->driver be really seen? I thought the components are added by the drivers, hence they ought to have the driver field set. But there can be corner cases I overlooked.
thanks,
Takashi
Hi Takashi,
When I try using component_add in a different driver (usb4 in my case), I think dev->driver here is NULL because the i915 drivers do not have their component master fully bound when this new component is registered. When I test it, it seems to be causing a crash.
Hm, from where component_add*() is called? Basically dev->driver must be already set before the corresponding driver gets bound at __driver_probe_deviec(). So, if the device is added to component from the corresponding driver's probe, dev->driver must be non-NULL.
Would it be okay for me to resend a new patch with the flags corrected? I have mistakenly added Heikki and Mika as "Signed-off-by" instead of "Suggested-by". I am sorry for that.
Ah that's bad. I'll reset the branch, then. Please resubmit properly.
thanks,
Takashi