Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

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.