1. 03 6月, 2019 1 次提交
  2. 29 5月, 2019 3 次提交
  3. 23 5月, 2019 3 次提交
  4. 22 5月, 2019 1 次提交
  5. 17 5月, 2019 1 次提交
  6. 13 5月, 2019 1 次提交
  7. 03 5月, 2019 4 次提交
  8. 02 5月, 2019 3 次提交
  9. 30 4月, 2019 1 次提交
    • P
      configure: Remove --source-path option · 79d77bcd
      Peter Maydell 提交于
      Normally configure identifies the source path by looking
      at the location where the configure script itself exists.
      We also provide a --source-path option which lets the user
      manually override this.
      
      There isn't really an obvious use case for the --source-path
      option, and in commit 92712822 in 2017 we
      accidentally added some logic that looks at $source_path
      before the command line option that overrides it has been
      processed.
      
      The fact that nobody complained suggests that there isn't
      any use of this option and we aren't testing it either;
      remove it. This allows us to move the "make $source_path
      absolute" logic up so that there is no window in the script
      where $source_path is set but not yet absolute.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
      Message-id: 20190318134019.23729-1-peter.maydell@linaro.org
      79d77bcd
  10. 17 4月, 2019 1 次提交
  11. 25 3月, 2019 1 次提交
  12. 19 3月, 2019 2 次提交
  13. 18 3月, 2019 1 次提交
    • M
      qga: Fix guest-get-fsinfo PCI address collection in Windows · 996b9cdc
      Matt Hines 提交于
      The Windows QEMU guest agent erroneously tries to collect PCI information
      directly from the physical drive. However, windows stores SCSI/IDE information
      with the drive and PCI information with the underlying storage controller
      This changes get_pci_info to use the physical drive's underlying storage
      controller to get PCI information.
      
      * Additionally Fixes incorrect size being passed to DeviceIoControl
        when getting volume extents. Can occasionally crash the guest agent
      Signed-off-by: NMatt Hines <mhines@scalecomputing.com>
      *fix up some checkpatch warnings
      *fix domain reporting and add some sanity checks for debug
      Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com>
      996b9cdc
  14. 14 3月, 2019 1 次提交
  15. 13 3月, 2019 2 次提交
  16. 12 3月, 2019 2 次提交
  17. 11 3月, 2019 2 次提交
    • P
      configure: Disable W^X on OpenBSD · 7776ea6b
      Philippe Mathieu-Daudé 提交于
      Since OpenBSD 6.0 [1], W^X is enforced by default [2].
      TCG requires WX access. Disable W^X if it is available.
      This fixes:
      
        # lm32-softmmu/qemu-system-lm32
        Could not allocate dynamic translator buffer
      
        # sysctl kern.wxabort=1
        kern.wxabort: 0 -> 1
        # lm32-softmmu/qemu-system-lm32
        mmap: Not supported
        Abort trap (core dumped)
        # gdb -q lm32-softmmu/qemu-system-lm32 qemu-system-lm32.core
        (gdb) bt
        #0  0x000017e3c156c50a in _thread_sys___syscall () at {standard input}:5
        #1  0x000017e3c15e5d7a in *_libc_mmap (addr=Variable "addr" is not available.) at /usr/src/lib/libc/sys/mmap.c:47
        #2  0x000017e17d9abc8b in alloc_code_gen_buffer () at /usr/src/qemu/accel/tcg/translate-all.c:1064
        #3  0x000017e17d9abd04 in code_gen_alloc (tb_size=0) at /usr/src/qemu/accel/tcg/translate-all.c:1112
        #4  0x000017e17d9abe81 in tcg_exec_init (tb_size=0) at /usr/src/qemu/accel/tcg/translate-all.c:1149
        #5  0x000017e17d9897e9 in tcg_init (ms=0x17e45e456800) at /usr/src/qemu/accel/tcg/tcg-all.c:66
        #6  0x000017e17d9891b8 in accel_init_machine (acc=0x17e3c3f50800, ms=0x17e45e456800) at /usr/src/qemu/accel/accel.c:63
        #7  0x000017e17d989312 in configure_accelerator (ms=0x17e45e456800, progname=0x7f7fffff07b0 "lm32-softmmu/qemu-system-lm32") at /usr/src/qemu/accel/accel.c:111
        #8  0x000017e17d9d8616 in main (argc=1, argv=0x7f7fffff06b8, envp=0x7f7fffff06c8) at vl.c:4325
      
      [1] https://www.openbsd.org/faq/upgrade60.html
      [2] https://undeadly.org/cgi?action=article&sid=20160527203200Signed-off-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Message-Id: <20190307142822.8531-3-philmd@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      7776ea6b
    • A
      configure: Enable werror for git worktrees · fd73745d
      Alexey Kardashevskiy 提交于
      The configure script checks multiple times whether it works in a git
      repository and it does this by "test -e "${source_path}/.git" in 4 cases
      but in one case where it tries to enable werror "-d" is used there which
      fails on git worktrees as .git is a file then and not a directory.
      
      This changes the test to "-e" as other occurrences.
      Signed-off-by: NAlexey Kardashevskiy <aik@ozlabs.ru>
      Message-Id: <20190228043503.68494-1-aik@ozlabs.ru>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      fd73745d
  18. 08 3月, 2019 5 次提交
  19. 07 3月, 2019 2 次提交
  20. 28 2月, 2019 1 次提交
  21. 26 2月, 2019 2 次提交
    • D
      authz: delete existing ACL implementation · b76806d4
      Daniel P. Berrange 提交于
      The 'qemu_acl' type was a previous non-QOM based attempt to provide an
      authorization facility in QEMU. Because it is non-QOM based it cannot be
      created via the command line and requires special monitor commands to
      manipulate it.
      
      The new QAuthZ subclasses provide a superset of the functionality in
      qemu_acl, so the latter can now be deleted. The HMP 'acl_*' monitor
      commands are converted to use the new QAuthZSimple data type instead
      in order to provide temporary backwards compatibility.
      Reviewed-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Tested-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      b76806d4
    • D
      authz: add QAuthZPAM object type for authorizing using PAM · 8953caf3
      Daniel P. Berrange 提交于
      Add an authorization backend that talks to PAM to check whether the user
      identity is allowed. This only uses the PAM account validation facility,
      which is essentially just a check to see if the provided username is permitted
      access. It doesn't use the authentication or session parts of PAM, since
      that's dealt with by the relevant part of QEMU (eg VNC server).
      
      Consider starting QEMU with a VNC server and telling it to use TLS with
      x509 client certificates and configuring it to use an PAM to validate
      the x509 distinguished name. In this example we're telling it to use PAM
      for the QAuthZ impl with a service name of "qemu-vnc"
      
       $ qemu-system-x86_64 \
           -object tls-creds-x509,id=tls0,dir=/home/berrange/security/qemutls,\
                   endpoint=server,verify-peer=yes \
           -object authz-pam,id=authz0,service=qemu-vnc \
           -vnc :1,tls-creds=tls0,tls-authz=authz0
      
      This requires an /etc/pam/qemu-vnc file to be created with the auth
      rules. A very simple file based whitelist can be setup using
      
        $ cat > /etc/pam/qemu-vnc <<EOF
        account         requisite       pam_listfile.so item=user sense=allow file=/etc/qemu/vnc.allow
        EOF
      
      The /etc/qemu/vnc.allow file simply contains one username per line. Any
      username not in the file is denied. The usernames in this example are
      the x509 distinguished name from the client's x509 cert.
      
        $ cat > /etc/qemu/vnc.allow <<EOF
        CN=laptop.berrange.com,O=Berrange Home,L=London,ST=London,C=GB
        EOF
      
      More interesting would be to configure PAM to use an LDAP backend, so
      that the QEMU authorization check data can be centralized instead of
      requiring each compute host to have file maintained.
      
      The main limitation with this PAM module is that the rules apply to all
      QEMU instances on the host. Setting up different rules per VM, would
      require creating a separate PAM service name & config file for every
      guest. An alternative approach for the future might be to not pass in
      the plain username to PAM, but instead combine the VM name or UUID with
      the username. This requires further consideration though.
      Tested-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      8953caf3