qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] a73e82: configure: Link test before auto-enab


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] a73e82: configure: Link test before auto-enabling crypto l...
Date: Thu, 23 May 2019 06:09:12 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: a73e82ef91278f34990fa36c59842a9e35767a51
      
https://github.com/qemu/qemu/commit/a73e82ef91278f34990fa36c59842a9e35767a51
  Author: Richard Henderson <address@hidden>
  Date:   2019-05-22 (Wed, 22 May 2019)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: Link test before auto-enabling crypto libraries

At least ubuntu 18.04 does not package static gnutls libraries.
At least Fedora 30 does not ship static nettle and gcrypt libraries.

Reviewed-by: Daniel P. Berrangé <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Tested-by: Laurent Vivier <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 243dc2cf95298383b657cf95896615197d8b35aa
      
https://github.com/qemu/qemu/commit/243dc2cf95298383b657cf95896615197d8b35aa
  Author: Richard Henderson <address@hidden>
  Date:   2019-05-22 (Wed, 22 May 2019)

  Changed paths:
    M Makefile
    M Makefile.objs
    M Makefile.target
    M configure
    M crypto/Makefile.objs

  Log Message:
  -----------
  build: Link user-only with crypto random number objects

For user-only, we require only the random number bits of the
crypto subsystem.  Rename crypto-aes-obj-y to crypto-user-obj-y,
and add the random number objects, plus init.o to handle any
extra stuff the crypto library requires.

Move the crypto libraries from libs_softmmu and libs_tools to
LIBS, so that they are universally used.

Reviewed-by: Daniel P. Berrangé <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 14a356f47560c8275b8e04fbee484a617fc45f80
      
https://github.com/qemu/qemu/commit/14a356f47560c8275b8e04fbee484a617fc45f80
  Author: Richard Henderson <address@hidden>
  Date:   2019-05-22 (Wed, 22 May 2019)

  Changed paths:
    M crypto/random-platform.c

  Log Message:
  -----------
  crypto: Reverse code blocks in random-platform.c

Use #ifdef _WIN32 instead of #ifndef _WIN32.
This will make other tests easier to sequence.

Reviewed-by: Laurent Vivier <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 25fb26e4f4b7cd50b9a7314400a2f800a4082b71
      
https://github.com/qemu/qemu/commit/25fb26e4f4b7cd50b9a7314400a2f800a4082b71
  Author: Richard Henderson <address@hidden>
  Date:   2019-05-22 (Wed, 22 May 2019)

  Changed paths:
    M crypto/random-platform.c

  Log Message:
  -----------
  crypto: Do not fail for EINTR during qcrypto_random_bytes

We can always get EINTR for read; /dev/urandom is no exception.

Rearrange the order of tests for likelihood; allow degenerate buflen==0
case to perform a no-op zero-length read.  This means that the normal
success path is a straight line with a single test for success.

Reviewed-by: Laurent Vivier <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: e9979ca64e5e4a150f5346de3982f02f54c41076
      
https://github.com/qemu/qemu/commit/e9979ca64e5e4a150f5346de3982f02f54c41076
  Author: Richard Henderson <address@hidden>
  Date:   2019-05-22 (Wed, 22 May 2019)

  Changed paths:
    M crypto/random-platform.c

  Log Message:
  -----------
  crypto: Use O_CLOEXEC in qcrypto_random_init

Avoids leaking the /dev/urandom fd into any child processes.

Reviewed-by: Laurent Vivier <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: db1ed1abcf4b219d9824e4a6ae5f9ae364f8d009
      
https://github.com/qemu/qemu/commit/db1ed1abcf4b219d9824e4a6ae5f9ae364f8d009
  Author: Richard Henderson <address@hidden>
  Date:   2019-05-22 (Wed, 22 May 2019)

  Changed paths:
    M configure
    M crypto/random-platform.c

  Log Message:
  -----------
  crypto: Use getrandom for qcrypto_random_bytes

Prefer it to direct use of /dev/urandom.

Reviewed-by: Laurent Vivier <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: d049b1f2afddd2d3a7b2ed22c274c66305c0b84b
      
https://github.com/qemu/qemu/commit/d049b1f2afddd2d3a7b2ed22c274c66305c0b84b
  Author: Richard Henderson <address@hidden>
  Date:   2019-05-22 (Wed, 22 May 2019)

  Changed paths:
    M crypto/random-gcrypt.c
    M crypto/random-gnutls.c
    M crypto/random-platform.c
    M include/crypto/random.h

  Log Message:
  -----------
  crypto: Change the qcrypto_random_bytes buffer type to void*

Using uint8_t* merely requires useless casts for use with
other types to be filled with randomness.

Reviewed-by: Laurent Vivier <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 4347e6383f17ae6b70af833b165862f9f338b0b9
      
https://github.com/qemu/qemu/commit/4347e6383f17ae6b70af833b165862f9f338b0b9
  Author: Richard Henderson <address@hidden>
  Date:   2019-05-22 (Wed, 22 May 2019)

  Changed paths:
    M ui/vnc.c

  Log Message:
  -----------
  ui/vnc: Split out authentication_failed

There were 3 copies of this code, one of which used the wrong
data size for the failure indicator.

Reviewed-by: Laurent Vivier <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: f7b2502cdc2eeb458a4490c1b8f4a83c07d46219
      
https://github.com/qemu/qemu/commit/f7b2502cdc2eeb458a4490c1b8f4a83c07d46219
  Author: Richard Henderson <address@hidden>
  Date:   2019-05-22 (Wed, 22 May 2019)

  Changed paths:
    M ui/vnc.c

  Log Message:
  -----------
  ui/vnc: Use gcrypto_random_bytes for start_auth_vnc

Use a better interface for random numbers than rand().
Fail gracefully if for some reason we cannot use the crypto system.

Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 8d8404f1564496f42b90497e7be635921c000e9d
      
https://github.com/qemu/qemu/commit/8d8404f1564496f42b90497e7be635921c000e9d
  Author: Richard Henderson <address@hidden>
  Date:   2019-05-22 (Wed, 22 May 2019)

  Changed paths:
    A include/qemu/guest-random.h
    M util/Makefile.objs
    A util/guest-random.c

  Log Message:
  -----------
  util: Add qemu_guest_getrandom and associated routines

This routine is intended to produce high-quality random numbers to the
guest.  Normally, such numbers are crypto quality from the host, but a
command-line option can force the use of a fully deterministic sequence
for use while debugging.

Reviewed-by: Laurent Vivier <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 9c09a2518eac6277c09ee006841c94abe7305e53
      
https://github.com/qemu/qemu/commit/9c09a2518eac6277c09ee006841c94abe7305e53
  Author: Richard Henderson <address@hidden>
  Date:   2019-05-22 (Wed, 22 May 2019)

  Changed paths:
    M cpus.c
    M include/qom/cpu.h
    M qemu-options.hx
    M vl.c

  Log Message:
  -----------
  cpus: Initialize pseudo-random seeds for all guest cpus

When the -seed option is given, call qemu_guest_random_seed_main,
putting the subsystem into deterministic mode.  Pass derived seeds
to each cpu created; which is a no-op unless the subsystem is in
deterministic mode.

Reviewed-by: Laurent Vivier <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Daniel P. Berrangé <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 5ebdd774949d68e2526000b0655636d056595be9
      
https://github.com/qemu/qemu/commit/5ebdd774949d68e2526000b0655636d056595be9
  Author: Richard Henderson <address@hidden>
  Date:   2019-05-22 (Wed, 22 May 2019)

  Changed paths:
    M linux-user/main.c
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user: Initialize pseudo-random seeds for all guest cpus

When the -seed option is given, call qemu_guest_random_seed_main,
putting the subsystem into deterministic mode.  Pass derived seeds
to each cpu created during clone; which is a no-op unless the
subsystem is in deterministic mode.

Reviewed-by: Laurent Vivier <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: a573e9bac6f28cfaa93629b0ebaaa20594365b1d
      
https://github.com/qemu/qemu/commit/a573e9bac6f28cfaa93629b0ebaaa20594365b1d
  Author: Richard Henderson <address@hidden>
  Date:   2019-05-22 (Wed, 22 May 2019)

  Changed paths:
    M linux-user/main.c

  Log Message:
  -----------
  linux-user: Call qcrypto_init if not using -seed

When not using -seed, we will use the crypto subsystem
for random numbers.

Reviewed-by: Laurent Vivier <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: c6a2377fb2e27970c584313ef32f04e5a56d0fdd
      
https://github.com/qemu/qemu/commit/c6a2377fb2e27970c584313ef32f04e5a56d0fdd
  Author: Richard Henderson <address@hidden>
  Date:   2019-05-22 (Wed, 22 May 2019)

  Changed paths:
    M linux-user/elfload.c

  Log Message:
  -----------
  linux-user: Use qemu_guest_getrandom_nofail for AT_RANDOM

Use a better interface for random numbers than rand * 16.

Reviewed-by: Laurent Vivier <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 51977e25f77faae6949c7eb51c86f0319b82a77d
      
https://github.com/qemu/qemu/commit/51977e25f77faae6949c7eb51c86f0319b82a77d
  Author: Richard Henderson <address@hidden>
  Date:   2019-05-22 (Wed, 22 May 2019)

  Changed paths:
    M linux-user/aarch64/cpu_loop.c
    M linux-user/aarch64/target_syscall.h
    M linux-user/syscall.c

  Log Message:
  -----------
  linux-user/aarch64: Use qemu_guest_getrandom for PAUTH keys

Use a better interface for random numbers than rand() * 3.

Reviewed-by: Laurent Vivier <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 79743bdbcb7a1a72e6c8ad4fd0bc946a0c552f88
      
https://github.com/qemu/qemu/commit/79743bdbcb7a1a72e6c8ad4fd0bc946a0c552f88
  Author: Richard Henderson <address@hidden>
  Date:   2019-05-22 (Wed, 22 May 2019)

  Changed paths:
    M linux-user/main.c

  Log Message:
  -----------
  linux-user: Remove srand call

We no longer use rand() within linux-user.

Reviewed-by: Laurent Vivier <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 9d44cb5b2ae10b224e91abb68e6f06a58af43389
      
https://github.com/qemu/qemu/commit/9d44cb5b2ae10b224e91abb68e6f06a58af43389
  Author: Richard Henderson <address@hidden>
  Date:   2019-05-22 (Wed, 22 May 2019)

  Changed paths:
    M hw/misc/aspeed_scu.c

  Log Message:
  -----------
  aspeed/scu: Use qemu_guest_getrandom_nofail

The random number is intended for use by the guest.  As such, we should
honor the -seed argument for reproducibility.  Use the *_nofail routine
instead of rolling our own error handling locally.

Reviewed-by: Laurent Vivier <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Reviewed-by: Joel Stanley <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 19173fd3350e438b414a84fad223ee05a46a8d81
      
https://github.com/qemu/qemu/commit/19173fd3350e438b414a84fad223ee05a46a8d81
  Author: Richard Henderson <address@hidden>
  Date:   2019-05-22 (Wed, 22 May 2019)

  Changed paths:
    M hw/misc/nrf51_rng.c

  Log Message:
  -----------
  hw/misc/nrf51_rng: Use qemu_guest_getrandom_nofail

The random number is intended for use by the guest.  As such, we should
honor the -seed argument for reproducibility.  Use the *_nofail routine
instead of error_abort directly.

Reviewed-by: Laurent Vivier <address@hidden>
Reviewed-by: Joel Stanley <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 3090c980ed06e666a4b394fdb46284f220e091d1
      
https://github.com/qemu/qemu/commit/3090c980ed06e666a4b394fdb46284f220e091d1
  Author: Richard Henderson <address@hidden>
  Date:   2019-05-22 (Wed, 22 May 2019)

  Changed paths:
    M hw/misc/bcm2835_rng.c

  Log Message:
  -----------
  hw/misc/bcm2835_rng: Use qemu_guest_getrandom_nofail

The random number is intended for use by the guest.  As such, we should
honor the -seed argument for reproducibility.  Use the *_nofail routine
instead of rolling our own error handling locally.

Reviewed-by: Laurent Vivier <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: e8196d2111d2eb060a42feadef119de3aadae4f6
      
https://github.com/qemu/qemu/commit/e8196d2111d2eb060a42feadef119de3aadae4f6
  Author: Richard Henderson <address@hidden>
  Date:   2019-05-22 (Wed, 22 May 2019)

  Changed paths:
    M hw/misc/exynos4210_rng.c

  Log Message:
  -----------
  hw/misc/exynos4210_rng: Use qemu_guest_getrandom

The random number is intended for use by the guest.  As such, we should
honor the -seed argument for reproducibility.

Reviewed-by: Laurent Vivier <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 108b3ba891408c4dce93df78261ec4aca38c0e2e
      
https://github.com/qemu/qemu/commit/108b3ba891408c4dce93df78261ec4aca38c0e2e
  Author: Richard Henderson <address@hidden>
  Date:   2019-05-22 (Wed, 22 May 2019)

  Changed paths:
    M linux-user/aarch64/cpu_loop.c
    M linux-user/syscall.c
    M target/arm/cpu.h
    M target/arm/helper.c
    M target/arm/pauth_helper.c

  Log Message:
  -----------
  target/arm: Put all PAC keys into a structure

This allows us to use a single syscall to initialize them all.

Reviewed-by: Laurent Vivier <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: de390645675966cce113bf5394445bc1f8d07c85
      
https://github.com/qemu/qemu/commit/de390645675966cce113bf5394445bc1f8d07c85
  Author: Richard Henderson <address@hidden>
  Date:   2019-05-22 (Wed, 22 May 2019)

  Changed paths:
    M target/arm/cpu.h
    M target/arm/cpu64.c
    M target/arm/helper.c

  Log Message:
  -----------
  target/arm: Implement ARMv8.5-RNG

Use the newly introduced infrastructure for guest random numbers.

Reviewed-by: Peter Maydell <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 7e4357f612c7d177c3c972c44bae0fd8506ab13d
      
https://github.com/qemu/qemu/commit/7e4357f612c7d177c3c972c44bae0fd8506ab13d
  Author: Richard Henderson <address@hidden>
  Date:   2019-05-22 (Wed, 22 May 2019)

  Changed paths:
    M target/ppc/translate.c

  Log Message:
  -----------
  target/ppc: Use gen_io_start/end around DARN

Generating a random number counts as I/O, as it cannot be
replayed and produce the same results.

Acked-by: David Gibson <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Suggested-by: Peter Maydell <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 3f74b6322cec37d23351df8caccfdfd85dceff9b
      
https://github.com/qemu/qemu/commit/3f74b6322cec37d23351df8caccfdfd85dceff9b
  Author: Richard Henderson <address@hidden>
  Date:   2019-05-22 (Wed, 22 May 2019)

  Changed paths:
    M target/ppc/int_helper.c

  Log Message:
  -----------
  target/ppc: Use qemu_guest_getrandom for DARN

We now have an interface for guest visible random numbers.

Acked-by: David Gibson <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: 369fd5ca66810b2ddb16e23a497eabe59385eceb
      
https://github.com/qemu/qemu/commit/369fd5ca66810b2ddb16e23a497eabe59385eceb
  Author: Richard Henderson <address@hidden>
  Date:   2019-05-22 (Wed, 22 May 2019)

  Changed paths:
    M target/i386/cpu.c
    M target/i386/helper.h
    M target/i386/int_helper.c
    M target/i386/translate.c

  Log Message:
  -----------
  target/i386: Implement CPUID_EXT_RDRAND

We now have an interface for guest visible random numbers.

Reviewed-by: Eduardo Habkost <address@hidden>
Signed-off-by: Richard Henderson <address@hidden>


  Commit: d418238dca7b4e0b124135827ead3076233052b1
      
https://github.com/qemu/qemu/commit/d418238dca7b4e0b124135827ead3076233052b1
  Author: Peter Maydell <address@hidden>
  Date:   2019-05-23 (Thu, 23 May 2019)

  Changed paths:
    M Makefile
    M Makefile.objs
    M Makefile.target
    M configure
    M cpus.c
    M crypto/Makefile.objs
    M crypto/random-gcrypt.c
    M crypto/random-gnutls.c
    M crypto/random-platform.c
    M hw/misc/aspeed_scu.c
    M hw/misc/bcm2835_rng.c
    M hw/misc/exynos4210_rng.c
    M hw/misc/nrf51_rng.c
    M include/crypto/random.h
    A include/qemu/guest-random.h
    M include/qom/cpu.h
    M linux-user/aarch64/cpu_loop.c
    M linux-user/aarch64/target_syscall.h
    M linux-user/elfload.c
    M linux-user/main.c
    M linux-user/syscall.c
    M qemu-options.hx
    M target/arm/cpu.h
    M target/arm/cpu64.c
    M target/arm/helper.c
    M target/arm/pauth_helper.c
    M target/i386/cpu.c
    M target/i386/helper.h
    M target/i386/int_helper.c
    M target/i386/translate.c
    M target/ppc/int_helper.c
    M target/ppc/translate.c
    M ui/vnc.c
    M util/Makefile.objs
    A util/guest-random.c
    M vl.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/rth/tags/pull-rng-20190522' into staging

Introduce qemu_guest_getrandom.
Use qemu_guest_getrandom in aspeed, nrf51, bcm2835, exynos4210 rng devices.
Use qemu_guest_getrandom in target/ppc darn instruction.
Support ARMv8.5-RNG extension.
Support x86 RDRAND extension.

Acked-by: Daniel P. Berrangé <address@hidden>
Acked-by: Laurent Vivier <address@hidden>

# gpg: Signature made Wed 22 May 2019 19:36:43 BST
# gpg:                using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
# gpg:                issuer "address@hidden"
# gpg: Good signature from "Richard Henderson <address@hidden>" [full]
# Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F

* remotes/rth/tags/pull-rng-20190522: (25 commits)
  target/i386: Implement CPUID_EXT_RDRAND
  target/ppc: Use qemu_guest_getrandom for DARN
  target/ppc: Use gen_io_start/end around DARN
  target/arm: Implement ARMv8.5-RNG
  target/arm: Put all PAC keys into a structure
  hw/misc/exynos4210_rng: Use qemu_guest_getrandom
  hw/misc/bcm2835_rng: Use qemu_guest_getrandom_nofail
  hw/misc/nrf51_rng: Use qemu_guest_getrandom_nofail
  aspeed/scu: Use qemu_guest_getrandom_nofail
  linux-user: Remove srand call
  linux-user/aarch64: Use qemu_guest_getrandom for PAUTH keys
  linux-user: Use qemu_guest_getrandom_nofail for AT_RANDOM
  linux-user: Call qcrypto_init if not using -seed
  linux-user: Initialize pseudo-random seeds for all guest cpus
  cpus: Initialize pseudo-random seeds for all guest cpus
  util: Add qemu_guest_getrandom and associated routines
  ui/vnc: Use gcrypto_random_bytes for start_auth_vnc
  ui/vnc: Split out authentication_failed
  crypto: Change the qcrypto_random_bytes buffer type to void*
  crypto: Use getrandom for qcrypto_random_bytes
  ...

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/c4600d5d417e...d418238dca7b



reply via email to

[Prev in Thread] Current Thread [Next in Thread]