mbox

[PULL,00/18] Usb 20200828 patches

Message ID 20200828080845.28287-1-kraxel@redhat.com (mailing list archive)
State New, archived
Headers show

Pull-request

git://git.kraxel.org/qemu tags/usb-20200828-pull-request

Message

Gerd Hoffmann Aug. 28, 2020, 8:08 a.m. UTC
The following changes since commit 19591e9e0938ea5066984553c256a043bd5d822f:

  Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging (=
2020-08-27 16:59:02 +0100)

are available in the Git repository at:

  git://git.kraxel.org/qemu tags/usb-20200828-pull-request

for you to fetch changes up to 51a3da5b6398dcad7655e9cd6052eb52e6c31d21:

  usb: fix setup_len init (CVE-2020-14364) (2020-08-28 07:20:21 +0200)

----------------------------------------------------------------
usb: usb_packet_map fixes for ehci and xhci.
usb: u2f key support (GSoC), 32bit build fixed.
usb: setup_len fix (CVE-2020-14364).

----------------------------------------------------------------

C=C3=A9sar Belley (12):
  hw/usb: Regroup USB HID protocol values
  docs: Add USB U2F key device documentation
  hw/usb: Add U2F key base class
  hw/usb: Add U2F key base class implementation
  hw/usb: Add U2F key passthru mode
  hw/usb: Add U2F key emulated mode
  meson: Add U2F key to meson
  docs/system: Add U2F key to the USB devices examples
  docs/qdev-device-use.txt: Add USB U2F key to the QDEV devices examples
  scripts: Add u2f-setup-gen script
  hw/usb: Add U2F device check to passthru mode
  hw/usb: Add U2F device autoscan to passthru mode

Gerd Hoffmann (3):
  ehci: drop pointless warn_report for guest bugs.
  usb-host: workaround libusb bug
  usb: fix setup_len init (CVE-2020-14364)

Li Qiang (3):
  hw: xhci: check return value of 'usb_packet_map'
  hw: ehci: destroy sglist in error path
  hw: ehci: check return value of 'usb_packet_map'

 configure                |   8 +-
 docs/qdev-device-use.txt |   1 +
 docs/u2f.txt             | 110 ++++++++
 meson_options.txt        |   1 +
 scripts/u2f-setup-gen.py | 170 ++++++++++++
 hw/usb/u2f.h             |  92 +++++++
 include/hw/usb/hid.h     |  17 ++
 hw/usb/core.c            |  16 +-
 hw/usb/dev-hid.c         |  26 +-
 hw/usb/dev-wacom.c       |  12 +-
 hw/usb/hcd-ehci.c        |  12 +-
 hw/usb/hcd-xhci.c        |   5 +-
 hw/usb/host-libusb.c     |  37 ++-
 hw/usb/u2f-emulated.c    | 405 ++++++++++++++++++++++++++++
 hw/usb/u2f-passthru.c    | 551 +++++++++++++++++++++++++++++++++++++++
 hw/usb/u2f.c             | 352 +++++++++++++++++++++++++
 docs/system/usb.rst      |   3 +
 hw/usb/Kconfig           |   5 +
 hw/usb/meson.build       |   7 +
 meson.build              |   7 +
 20 files changed, 1797 insertions(+), 40 deletions(-)
 create mode 100644 docs/u2f.txt
 create mode 100755 scripts/u2f-setup-gen.py
 create mode 100644 hw/usb/u2f.h
 create mode 100644 include/hw/usb/hid.h
 create mode 100644 hw/usb/u2f-emulated.c
 create mode 100644 hw/usb/u2f-passthru.c
 create mode 100644 hw/usb/u2f.c

--=20
2.27.0

Comments

Peter Maydell Aug. 28, 2020, 2:14 p.m. UTC | #1
On Fri, 28 Aug 2020 at 09:13, Gerd Hoffmann <kraxel@redhat.com> wrote:
>
> The following changes since commit 19591e9e0938ea5066984553c256a043bd5d822f:
>
>   Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging (=
> 2020-08-27 16:59:02 +0100)
>
> are available in the Git repository at:
>
>   git://git.kraxel.org/qemu tags/usb-20200828-pull-request
>
> for you to fetch changes up to 51a3da5b6398dcad7655e9cd6052eb52e6c31d21:
>
>   usb: fix setup_len init (CVE-2020-14364) (2020-08-28 07:20:21 +0200)
>
> ----------------------------------------------------------------
> usb: usb_packet_map fixes for ehci and xhci.
> usb: u2f key support (GSoC), 32bit build fixed.
> usb: setup_len fix (CVE-2020-14364).

This causes Meson to complain on one of my build systems:

Has header "sasl/sasl.h" : YES (cached)
Library sasl2 found: YES
Found CMake: /usr/bin/cmake (2.8.12.2)
WARNING: The version of CMake /usr/bin/cmake is 2.8.12.2 but version
>=3.4 is required
Run-time dependency u2f-emu found: NO (tried pkgconfig and cmake)

Why is Meson trying to use CMake here? I don't think we want
to bring in another build tool dependency...

thanks
-- PMM
Paolo Bonzini Aug. 28, 2020, 2:33 p.m. UTC | #2
Il ven 28 ago 2020, 16:14 Peter Maydell <peter.maydell@linaro.org> ha
scritto:

> Why is Meson trying to use CMake here? I don't think we want
> to bring in another build tool dependency...
>

It's asking cmake if it knows about the package, if pkg-config fails. This
is because cmake has its own incompatible mechanism to tell users about
compilation and linking flags, and the "dependency" line doesn't tell Meson
if u2f-emu has a pkg-config or a cmake description.

We can ask to use pkg-config only since none of our dependencies are
cmake-only; see https://mesonbuild.com/Dependencies.html#dependency-method.

Paolo


> thanks
> -- PMM
>
>
Gerd Hoffmann Aug. 31, 2020, 8:31 a.m. UTC | #3
On Fri, Aug 28, 2020 at 04:33:04PM +0200, Paolo Bonzini wrote:
> Il ven 28 ago 2020, 16:14 Peter Maydell <peter.maydell@linaro.org> ha
> scritto:
> 
> > Why is Meson trying to use CMake here? I don't think we want
> > to bring in another build tool dependency...
> >
> 
> It's asking cmake if it knows about the package, if pkg-config fails. This
> is because cmake has its own incompatible mechanism to tell users about
> compilation and linking flags, and the "dependency" line doesn't tell Meson
> if u2f-emu has a pkg-config or a cmake description.

It uses pkg-config, so we can explicitly say so.

> We can ask to use pkg-config only since none of our dependencies are
> cmake-only; see https://mesonbuild.com/Dependencies.html#dependency-method.

I'll send a new pull with that addressed (also the other 11/18 comments).

thanks,
  Gerd