Bug 1789923

Summary: usbguard stops authorizing external USB devices after many suspend/resume cycles "UEventDeviceManager thread: UEvent device manager: recvmsg: No buffer space available"
Product: [Fedora] Fedora Reporter: Dominik 'Rathann' Mierzejewski <dominik>
Component: usbguardAssignee: Daniel Kopeček <dkopecek>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 31CC: dkopecek, rsroka
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: usbguard-0.7.8-1.fc32 usbguard-0.7.8-1.fc31 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-07-03 01:18:21 UTC 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:

Description Dominik 'Rathann' Mierzejewski 2020-01-10 17:47:20 UTC
Description of problem:
After a suspend/resume cycle, my Jabra Evolve 65 headset connected via USB is no longer allowed, despite existing allow rules.

Version-Release number of selected component (if applicable):
usbguard-0.7.6-6.fc31.x86_64

How reproducible:
Often.

Steps to Reproduce:
1. Connect the above headset via USB
2. add allow rule(s):
$ usbguard list-rules  | grep Jabra
10: allow id 0b0e:030c serial "501AA5D74393020000" name "Jabra EVOLVE 65" hash "vG/0FpWcKmh+hpXT6824+wB+K0pgbhlAHpmleJ4GSiw=" parent-hash "v/C44MdEojqIysu4+ZKGickoW8bgpD4rR+V5rF+S6uo=" with-interface { 01:01:00 01:02:00 01:02:00 01:02:00 01:02:00 03:00:00 }
19: allow id 0b0e:0311 serial "501AA5D74393020000" name "Jabra EVOLVE 65" hash "CT2bd2Id4djgCsROvfCui0ymiF6tVY4YPxCIMJJ9Pnc=" parent-hash "v/C44MdEojqIysu4+ZKGickoW8bgpD4rR+V5rF+S6uo=" with-interface 03:00:00
3. Suspend/resume

Actual results:
[10677.946999] usb 2-1.4: new full-speed USB device number 34 using xhci_hcd
[10678.037501] usb 2-1.4: New USB device found, idVendor=0b0e, idProduct=030c, bcdDevice= 2.00
[10678.037507] usb 2-1.4: New USB device strings: Mfr=0, Product=2, SerialNumber=3
[10678.037511] usb 2-1.4: Product: Jabra EVOLVE 65
[10678.037514] usb 2-1.4: SerialNumber: 501AA5D74393020000
[10678.038028] usb 2-1.4: Device is not authorized for usage

Expected results:
Headset is allowed to function.

Additional info:
systemctl restart usbguard helps immediately.

Comment 1 Dominik 'Rathann' Mierzejewski 2020-02-13 10:19:47 UTC
Ok, I've just had another case of this. I resumed my laptop, connected a USB hub with a couple of devices and they were all non-functional.
I got "Device is not authorized for usage" errors for all connected devices.

Things started working after restarting the daemon. I saw the following errors in usbguard journal before I restarted usbguard:

Feb 12 09:35:12 usbguard-daemon[1278]: [1581496512.356] (E) ueventProcessRead: failed to read pending uevent: rc=-1 errno=105
Feb 12 09:35:12 usbguard-daemon[1278]: [1581496512.356] (E) UEventDeviceManager thread: UEvent device manager: recvmsg: No buffer space available

Comment 2 Dominik 'Rathann' Mierzejewski 2020-02-13 10:28:54 UTC
Found existing upstream bug report.

Comment 3 Fedora Update System 2020-06-24 17:46:07 UTC
FEDORA-2020-f502be60a4 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-f502be60a4

Comment 4 Fedora Update System 2020-06-24 17:46:25 UTC
FEDORA-2020-c30d6afc1c has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2020-c30d6afc1c

Comment 5 Fedora Update System 2020-06-25 00:58:32 UTC
FEDORA-2020-c30d6afc1c has been pushed to the Fedora 31 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-c30d6afc1c`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-c30d6afc1c

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 6 Fedora Update System 2020-06-25 01:03:59 UTC
FEDORA-2020-f502be60a4 has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-f502be60a4`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-f502be60a4

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 7 Fedora Update System 2020-07-03 01:18:21 UTC
FEDORA-2020-f502be60a4 has been pushed to the Fedora 32 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 8 Fedora Update System 2020-07-03 01:37:34 UTC
FEDORA-2020-c30d6afc1c has been pushed to the Fedora 31 stable repository.
If problem still persists, please make note of it in this bug report.