qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] hw/usb/u2f-passthru: U2F keepalive fixes
@ 2024-06-25 14:53 David Bouman
  2024-06-25 14:53 ` [PATCH 1/4] hw/usb/u2f: Add `start` and `stop` callbacks to U2F key class David Bouman
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: David Bouman @ 2024-06-25 14:53 UTC (permalink / raw)
  To: qemu-devel; +Cc: David Bouman

Hello,

The u2f-passthru device is currently broken for (at least) the Yubikey 5.
(gitlab: https://gitlab.com/qemu-project/qemu/-/issues/2293)

This patchset aims to fix the issue by properly handling the
U2F keepalive response in the u2f-passthru device.

I initially suspected the hidraw chardev handle management to be the
culprit, so I also implemented a more efficient strategy where the host
hidraw chardev is only opened as long as the guest actually needs it to be opened.

This turned out to not be the root cause, but regardless, it's probably the 
right way to be doing it. Hence, I also included these patches here.

The patches were tested with `pamu2fcfg` in an x86_64 Linux guest
with the u2f-passthru device backed by a physical Yubikey 5 (type C model). 

---

I apologize for any anticipatory errors, I'm not really acquainted with the
USB/HID/U2F protocols, nor with QEMU. Happy to hear your feedback!

David Bouman (4):
  hw/usb/u2f: Add `start` and `stop` callbacks to U2F key class
  hw/usb/u2f-passthru: Do not needlessly retain handle to hidraw chardev
  hw/usb/u2f-passthru: Clean up code
  hw/usb/u2f-passthru: Implement FIDO U2FHID keep-alive

 hw/usb/u2f-passthru.c | 163 ++++++++++++++++++++++++++++--------------
 hw/usb/u2f.c          |  23 ++++++
 hw/usb/u2f.h          |   5 ++
 3 files changed, 138 insertions(+), 53 deletions(-)

-- 
2.34.1



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-06-25 17:37 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-25 14:53 [PATCH 0/4] hw/usb/u2f-passthru: U2F keepalive fixes David Bouman
2024-06-25 14:53 ` [PATCH 1/4] hw/usb/u2f: Add `start` and `stop` callbacks to U2F key class David Bouman
2024-06-25 14:53 ` [PATCH 2/4] hw/usb/u2f-passthru: Do not needlessly retain handle to hidraw chardev David Bouman
2024-06-25 14:53 ` [PATCH 3/4] hw/usb/u2f-passthru: Clean up code David Bouman
2024-06-25 14:53 ` [PATCH 4/4] hw/usb/u2f-passthru: Implement FIDO U2FHID keep-alive David Bouman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).