Bug 2227760

Summary: Backport needed to avoid a multithreaded fwupd crash
Product: Red Hat Enterprise Linux 9 Reporter: Richard Hughes <rhughes>
Component: libgusbAssignee: Kate Hsuan <hpa>
Status: VERIFIED --- QA Contact: Tomas Pelka <tpelka>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 9.3CC: desktop-qa-list, jkoten
Target Milestone: rcKeywords: Triaged
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: libgusb-0.3.8-2.el9 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
patch for c9s none

Description Richard Hughes 2023-07-31 10:12:03 UTC
Created attachment 1980851 [details]
patch for c9s

Description of problem:

We call g_usb_context_idle_hotplug_cb from potentially multiple threads, but the callback should be executed in the main thread. This fixes a rare crash in fwupd when hotplugging lots of devices.

Version-Release number of selected component (if applicable):

libgusb-0.3.8-1

How reproducible:

Rarely -- which makes it really hard to QA. You can unplug a thousands times and not hit it once, but running on millions of machines we've seen it reported 5 times on RHEL.

Additional info:

This has been fixed in Fedora since October, and seems to have fixed the fwupd crash seen there.