Skip to content
Snippets Groups Projects
  1. Jul 05, 2021
    • Thomas Huth's avatar
      Makefile: Remove /usr/bin/env wrapper from the SHELL variable · bc054393
      Thomas Huth authored
      
      The wrapper should not be needed here (it's not the shebang line of
      a shell script), and it is causing trouble on Haiku where "env"
      resides in a different directory.
      
      Reported-by: default avatarRichard Zak <richard.j.zak@gmail.com>
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      Reviewed-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
      Message-Id: <20210705082542.936856-1-thuth@redhat.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      bc054393
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/dgilbert-gitlab/tags/pull-migration-20210705a' into staging · 715167a3
      Peter Maydell authored
      
      Migration and virtiofs pull 2021-07-01 v2
      
      Dropped Peter Xu's migration-test fix to reenable
      most of the migration tests when uffd isn't available;
      we're seeing at least one seg in github CI (on qemu-system-i386)
      and Peter Maydell is reporting a hang on Openbsd.
      
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      
      # gpg: Signature made Mon 05 Jul 2021 11:01:35 BST
      # gpg:                using RSA key 45F5C71B4A0CB7FB977A9FA90516331EBC5BFDE7
      # gpg: Good signature from "Dr. David Alan Gilbert (RH2) <dgilbert@redhat.com>" [full]
      # Primary key fingerprint: 45F5 C71B 4A0C B7FB 977A  9FA9 0516 331E BC5B FDE7
      
      * remotes/dgilbert-gitlab/tags/pull-migration-20210705a:
        migration/rdma: Use error_report to suppress errno message
        tests/migration: fix "downtime_limit" type when "migrate-set-parameters"
        tests/migration: parse the thread-id key of CpuInfoFast
        virtiofsd: Add an option to enable/disable posix acls
        virtiofsd: Switch creds, drop FSETID for system.posix_acl_access xattr
        virtiofsd: Add capability to change/restore umask
        virtiofsd: Add umask to seccom allow list
        virtiofsd: Add support for extended setxattr
        virtiofsd: Fix xattr operations overwriting errno
        virtiofsd: Fix fuse setxattr() API change issue
        virtiofsd: Don't allow file creation with FUSE_OPEN
        docs: describe the security considerations with virtiofsd xattr mapping
        virtiofsd: use GDateTime for formatting timestamp for debug messages
        migration: failover: continue to wait card unplug on error
        migration: move wait-unplug loop to its own function
        migration: Allow reset of postcopy_recover_triggered when failed
        migration: Move yank outside qemu_start_incoming_migration()
        migration: fix the memory overwriting risk in add_to_iovec
        tests: migration-test: Add dirty ring test
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      715167a3
    • Li Zhijian's avatar
      migration/rdma: Use error_report to suppress errno message · e5f60791
      Li Zhijian authored
      
      Since the prior calls are successful, in this case a errno doesn't
      indicate a real error which would just make us confused.
      
      before:
      (qemu) migrate -d rdma:192.168.22.23:8888
      source_resolve_host RDMA Device opened: kernel name rxe_eth0 uverbs device name uverbs2, infiniband_verbs class device path /sys/class/infiniband_verbs/uverbs2, infiniband class device path /sys/class/infiniband/rxe_eth0, transport: (2) Ethernet
      rdma_get_cm_event != EVENT_ESTABLISHED after rdma_connect: No space left on device
      
      Signed-off-by: default avatarLi Zhijian <lizhijian@cn.fujitsu.com>
      Message-Id: <20210628071959.23455-1-lizhijian@cn.fujitsu.com>
      Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      e5f60791
    • Hyman Huang's avatar
      tests/migration: fix "downtime_limit" type when "migrate-set-parameters" · fa264f42
      Hyman Huang authored
      
      migrate-set-parameters parse "downtime_limit" as integer type when
      execute "migrate-set-parameters" before migration, and, the unit
      dowtime_limit is milliseconds, fix this two so that test can go
      smoothly.
      
      Signed-off-by: default avatarHyman Huang(黄勇) <huangy81@chinatelecom.cn>
      Message-Id: <31d82df24cc0c468dbe4d2d86730158ebf248071.1622729934.git.huangy81@chinatelecom.cn>
      Reviewed-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      fa264f42
    • Hyman Huang's avatar
      tests/migration: parse the thread-id key of CpuInfoFast · c99fb3a5
      Hyman Huang authored
      
      thread_id in CpuInfoFast is deprecated, parse thread-id instead
      after execute qmp query-cpus-fast. fix this so that test can
      go smoothly.
      
      Signed-off-by: default avatarHyman Huang(黄勇) <huangy81@chinatelecom.cn>
      Message-Id: <584578c0a0dd781cee45f72ddf517f6e6a41c504.1622729934.git.huangy81@chinatelecom.cn>
      Reviewed-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      c99fb3a5
    • Vivek Goyal's avatar
      virtiofsd: Add an option to enable/disable posix acls · 65a820d2
      Vivek Goyal authored
      
      fuse has an option FUSE_POSIX_ACL which needs to be opted in by fuse
      server to enable posix acls. As of now we are not opting in for this,
      so posix acls are disabled on virtiofs by default.
      
      Add virtiofsd option "-o posix_acl/no_posix_acl" to let users enable/disable
      posix acl support. By default it is disabled as of now due to performance
      concerns with cache=none.
      
      Currently even if file server has not opted in for FUSE_POSIX_ACL, user can
      still query acl and set acl, and system.posix_acl_access and
      system.posix_acl_default xattrs show up listxattr response.
      
      Miklos said this is confusing. So he said lets block and filter
      system.posix_acl_access and system.posix_acl_default xattrs in
      getxattr/setxattr/listxattr if user has explicitly disabled
      posix acls using -o no_posix_acl.
      
      As of now continuing to keeping the existing behavior if user did not
      specify any option to disable acl support due to concerns about backward
      compatibility.
      
      Signed-off-by: default avatarVivek Goyal <vgoyal@redhat.com>
      Message-Id: <20210622150852.1507204-8-vgoyal@redhat.com>
      Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      65a820d2
    • Vivek Goyal's avatar
      virtiofsd: Switch creds, drop FSETID for system.posix_acl_access xattr · f1aa1774
      Vivek Goyal authored
      
      When posix access acls are set on a file, it can lead to adjusting file
      permissions (mode) as well. If caller does not have CAP_FSETID and it
      also does not have membership of owner group, this will lead to clearing
      SGID bit in mode.
      
      Current fuse code is written in such a way that it expects file server
      to take care of chaning file mode (permission), if there is a need.
      Right now, host kernel does not clear SGID bit because virtiofsd is
      running as root and has CAP_FSETID. For host kernel to clear SGID,
      virtiofsd need to switch to gid of caller in guest and also drop
      CAP_FSETID (if caller did not have it to begin with).
      
      If SGID needs to be cleared, client will set the flag
      FUSE_SETXATTR_ACL_KILL_SGID in setxattr request. In that case server
      should kill sgid.
      
      Currently just switch to uid/gid of the caller and drop CAP_FSETID
      and that should do it.
      
      This should fix the xfstest generic/375 test case.
      
      We don't have to switch uid for this to work. That could be one optimization
      that pass a parameter to lo_change_cred() to only switch gid and not uid.
      
      Also this will not work whenever (if ever) we support idmapped mounts. In
      that case it is possible that uid/gid in request are 0/0 but still we
      need to clear SGID. So we will have to pick a non-root sgid and switch
      to that instead. That's an TODO item for future when idmapped mount
      support is introduced.
      
      This patch only adds the capability to switch creds and drop FSETID
      when acl xattr is set. This does not take affect yet. It can take
      affect when next patch adds the capability to enable posix_acl.
      
      Reported-by: default avatarLuis Henriques <lhenriques@suse.de>
      Signed-off-by: default avatarVivek Goyal <vgoyal@redhat.com>
      Message-Id: <20210622150852.1507204-7-vgoyal@redhat.com>
      Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      f1aa1774
    • Vivek Goyal's avatar
      virtiofsd: Add capability to change/restore umask · 227e5d7f
      Vivek Goyal authored
      
      When parent directory has default acl and a file is created in that
      directory, then umask is ignored and final file permissions are
      determined using default acl instead. (man 2 umask).
      
      Currently, fuse applies the umask and sends modified mode in create
      request accordingly. fuse server can set FUSE_DONT_MASK and tell
      fuse client to not apply umask and fuse server will take care of
      it as needed.
      
      With posix acls enabled, requirement will be that we want umask
      to determine final file mode if parent directory does not have
      default acl.
      
      So if posix acls are enabled, opt in for FUSE_DONT_MASK. virtiofsd
      will set umask of the thread doing file creation. And host kernel
      should use that umask if parent directory does not have default
      acls, otherwise umask does not take affect.
      
      Miklos mentioned that we already call unshare(CLONE_FS) for
      every thread. That means umask has now become property of per
      thread and it should be ok to manipulate it in file creation path.
      
      This patch only adds capability to change umask and restore it. It
      does not enable it yet. Next few patches will add capability to enable it
      based on if user enabled posix_acl or not.
      
      This should fix fstest generic/099.
      
      Reported-by: default avatarLuis Henriques <lhenriques@suse.de>
      Signed-off-by: default avatarVivek Goyal <vgoyal@redhat.com>
      Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      Message-Id: <20210622150852.1507204-6-vgoyal@redhat.com>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      227e5d7f
    • Vivek Goyal's avatar
      virtiofsd: Add umask to seccom allow list · 6d0028b9
      Vivek Goyal authored
      
      Patches in this series  are going to make use of "umask" syscall.
      So allow it.
      
      Signed-off-by: default avatarVivek Goyal <vgoyal@redhat.com>
      Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Message-Id: <20210622150852.1507204-5-vgoyal@redhat.com>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      6d0028b9
    • Vivek Goyal's avatar
      virtiofsd: Add support for extended setxattr · c46ef954
      Vivek Goyal authored
      
      Add the bits to enable support for setxattr_ext if fuse offers it. Do not
      enable it by default yet. Let passthrough_ll opt-in. Enabling it by deafult
      kind of automatically means that you are taking responsibility of clearing
      SGID if ACL is set.
      
      Signed-off-by: default avatarVivek Goyal <vgoyal@redhat.com>
      Message-Id: <20210622150852.1507204-4-vgoyal@redhat.com>
      Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
        Fixed up double def in fuse_common.h
      c46ef954
    • Vivek Goyal's avatar
      virtiofsd: Fix xattr operations overwriting errno · 5290fb62
      Vivek Goyal authored
      
      getxattr/setxattr/removexattr/listxattr operations handle regualar
      and non-regular files differently. For the case of non-regular files
      we do fchdir(/proc/self/fd) and the xattr operation and then revert
      back to original working directory. After this we are saving errno
      and that's buggy because fchdir() will overwrite the errno.
      
      FCHDIR_NOFAIL(lo->proc_self_fd);
      ret = getxattr(procname, name, value, size);
      FCHDIR_NOFAIL(lo->root.fd);
      
      if (ret == -1)
          saverr = errno
      
      In above example, if getxattr() failed, we will still return 0 to caller
      as errno must have been written by FCHDIR_NOFAIL(lo->root.fd) call.
      Fix all such instances and capture "errno" early and save in "saverr"
      variable.
      
      Signed-off-by: default avatarVivek Goyal <vgoyal@redhat.com>
      Message-Id: <20210622150852.1507204-3-vgoyal@redhat.com>
      Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      Reviewed-by: default avatarGreg Kurz <groug@kaod.org>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      5290fb62
    • Vivek Goyal's avatar
      virtiofsd: Fix fuse setxattr() API change issue · 06162445
      Vivek Goyal authored
      
      With kernel header updates fuse_setxattr_in struct has grown in size.
      But this new struct size only takes affect if user has opted in
      for fuse feature FUSE_SETXATTR_EXT otherwise fuse continues to
      send "fuse_setxattr_in" of older size. Older size is determined
      by FUSE_COMPAT_SETXATTR_IN_SIZE.
      
      Fix this. If we have not opted in for FUSE_SETXATTR_EXT, then
      expect that we will get fuse_setxattr_in of size FUSE_COMPAT_SETXATTR_IN_SIZE
      and not sizeof(struct fuse_sexattr_in).
      
      Fixes: 278f064e ("Update Linux headers to 5.13-rc4")
      Signed-off-by: default avatarVivek Goyal <vgoyal@redhat.com>
      Message-Id: <20210622150852.1507204-2-vgoyal@redhat.com>
      Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      Reviewed-by: default avatarGreg Kurz <groug@kaod.org>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      06162445
    • Greg Kurz's avatar
      virtiofsd: Don't allow file creation with FUSE_OPEN · 1d03e566
      Greg Kurz authored
      
      A well behaved FUSE client uses FUSE_CREATE to create files. It isn't
      supposed to pass O_CREAT along a FUSE_OPEN request, as documented in
      the "fuse_lowlevel.h" header :
      
          /**
           * Open a file
           *
           * Open flags are available in fi->flags. The following rules
           * apply.
           *
           *  - Creation (O_CREAT, O_EXCL, O_NOCTTY) flags will be
           *    filtered out / handled by the kernel.
      
      But if the client happens to do it anyway, the server ends up passing
      this flag to open() without the mandatory mode_t 4th argument. Since
      open() is a variadic function, glibc will happily pass whatever it
      finds on the stack to the syscall. If this file is compiled with
      -D_FORTIFY_SOURCE=2, glibc will even detect that and abort:
      
      *** invalid openat64 call: O_CREAT or O_TMPFILE without mode ***: terminated
      
      Specifying O_CREAT with FUSE_OPEN is a protocol violation. Check this
      in do_open(), print out a message and return an error to the client,
      EINVAL like we already do when fuse_mbuf_iter_advance() fails.
      
      The FUSE filesystem doesn't currently support O_TMPFILE, but the very
      same would happen if O_TMPFILE was passed in a FUSE_OPEN request. Check
      that as well.
      
      Signed-off-by: default avatarGreg Kurz <groug@kaod.org>
      Message-Id: <20210624101809.48032-1-groug@kaod.org>
      Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      1d03e566
    • Daniel P. Berrangé's avatar
      docs: describe the security considerations with virtiofsd xattr mapping · 3399bca4
      Daniel P. Berrangé authored
      
      Different guest xattr prefixes have distinct access control rules applied
      by the guest. When remapping a guest xattr care must be taken that the
      remapping does not allow the a guest user to bypass guest kernel access
      control rules.
      
      For example if 'trusted.*' which requires CAP_SYS_ADMIN is remapped
      to 'user.virtiofs.trusted.*', an unprivileged guest user which can
      write to 'user.*' can bypass the CAP_SYS_ADMIN control. Thus the
      target of any remapping must be explicitly blocked from read/writes
      by the guest, to prevent access control bypass.
      
      The examples shown in the virtiofsd man page already do the right
      thing and ensure safety, but the security implications of getting
      this wrong were not made explicit. This could lead to host admins
      and apps unwittingly creating insecure configurations.
      
      Signed-off-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Message-Id: <20210611120427.49736-1-berrange@redhat.com>
      Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      3399bca4
    • Daniel P. Berrangé's avatar
      virtiofsd: use GDateTime for formatting timestamp for debug messages · d9a801f7
      Daniel P. Berrangé authored
      
      The GDateTime APIs provided by GLib avoid portability pitfalls, such
      as some platforms where 'struct timeval.tv_sec' field is still 'long'
      instead of 'time_t'. When combined with automatic cleanup, GDateTime
      often results in simpler code too.
      
      Localtime is changed to UTC to avoid the need to grant extra seccomp
      permissions for GLib's access of the timezone database.
      
      Signed-off-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      Message-Id: <20210611164319.67762-1-berrange@redhat.com>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      d9a801f7
    • Laurent Vivier's avatar
      migration: failover: continue to wait card unplug on error · 944bc528
      Laurent Vivier authored
      If the user cancels the migration in the unplug-wait state,
      QEMU will try to plug back the card and this fails because the card
      is partially unplugged.
      To avoid the problem, continue to wait the card unplug, but to
      allow the migration to be canceled if the card never finishes to unplug
      use a timeout.
      
      Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1976852
      
      
      Signed-off-by: default avatarLaurent Vivier <lvivier@redhat.com>
      Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      Message-Id: <20210629155007.629086-3-lvivier@redhat.com>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      944bc528
    • Laurent Vivier's avatar
      migration: move wait-unplug loop to its own function · fde93d99
      Laurent Vivier authored
      
      The loop is used in migration_thread() and bg_migration_thread(),
      so we can move it to its own function and call it from these both places.
      
      Moreover, in migration_thread() we have a wrong state transition from
      SETUP to ACTIVE while state could be WAIT_UNPLUG. This is correctly
      managed in bg_migration_thread() so use this code instead.
      
      Signed-off-by: default avatarLaurent Vivier <lvivier@redhat.com>
      Message-Id: <20210629155007.629086-2-lvivier@redhat.com>
      Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      Reviewed-by: default avatarJuan Quintela <quintela@redhat.com>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      fde93d99
    • Peter Xu's avatar
      migration: Allow reset of postcopy_recover_triggered when failed · b7f9afd4
      Peter Xu authored
      
      It's possible qemu_start_incoming_migration() failed at any point, when it
      happens we should reset postcopy_recover_triggered to false so that the user
      can still retry with a saner incoming port.
      
      Signed-off-by: default avatarPeter Xu <peterx@redhat.com>
      Message-Id: <20210629181356.217312-3-peterx@redhat.com>
      Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      b7f9afd4
    • Peter Xu's avatar
      migration: Move yank outside qemu_start_incoming_migration() · cc48c587
      Peter Xu authored
      
      Starting from commit b5eea99e, qmp_migrate_recover() calls unregister
      before calling qemu_start_incoming_migration(). I believe it wanted to mitigate
      the next call to yank_register_instance(), but I think that's wrong.
      
      Firstly, if during recover, we should keep the yank instance there, not
      "quickly removing and adding it back".
      
      Meanwhile, calling qmp_migrate_recover() twice with b5eea99e will directly
      crash the dest qemu (right now it can't; but it'll start to work right after
      the next patch) because the 1st call of qmp_migrate_recover() will unregister
      permanently when the channel failed to establish, then the 2nd call of
      qmp_migrate_recover() crashes at yank_unregister_instance().
      
      This patch fixes it by moving yank ops out of qemu_start_incoming_migration()
      into qmp_migrate_incoming.  For qmp_migrate_recover(), drop the unregister of
      yank instance too since we keep it there during the recovery phase.
      
      Signed-off-by: default avatarPeter Xu <peterx@redhat.com>
      Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      Message-Id: <20210629181356.217312-2-peterx@redhat.com>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      cc48c587
    • Feng Lin's avatar
      migration: fix the memory overwriting risk in add_to_iovec · c00d434a
      Feng Lin authored
      
      When testing migration, a Segmentation fault qemu core is generated.
      0  error_free (err=0x1)
      1  0x00007f8b862df647 in qemu_fclose (f=f@entry=0x55e06c247640)
      2  0x00007f8b8516d59a in migrate_fd_cleanup (s=s@entry=0x55e06c0e1ef0)
      3  0x00007f8b8516d66c in migrate_fd_cleanup_bh (opaque=0x55e06c0e1ef0)
      4  0x00007f8b8626a47f in aio_bh_poll (ctx=ctx@entry=0x55e06b5a16d0)
      5  0x00007f8b8626e71f in aio_dispatch (ctx=0x55e06b5a16d0)
      6  0x00007f8b8626a33d in aio_ctx_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>)
      7  0x00007f8b866bdba4 in g_main_context_dispatch ()
      8  0x00007f8b8626cde9 in glib_pollfds_poll ()
      9  0x00007f8b8626ce62 in os_host_main_loop_wait (timeout=<optimized out>)
      10 0x00007f8b8626cffd in main_loop_wait (nonblocking=nonblocking@entry=0)
      11 0x00007f8b862ef01f in main_loop ()
      Using gdb print the struct QEMUFile f = {
        ...,
        iovcnt = 65, last_error = 21984,
        last_error_obj = 0x1, shutdown = true
      }
      Well iovcnt is overflow, because the max size of MAX_IOV_SIZE is 64.
      struct QEMUFile {
          ...;
          struct iovec iov[MAX_IOV_SIZE];
          unsigned int iovcnt;
          int last_error;
          Error *last_error_obj;
          bool shutdown;
      };
      iovcnt and last_error is overwrited by add_to_iovec().
      Right now, add_to_iovec() increase iovcnt before check the limit.
      And it seems that add_to_iovec() assumes that iovcnt will set to zero
      in qemu_fflush(). But qemu_fflush() will directly return when f->shutdown
      is true.
      
      The situation may occur when libvirtd restart during migration, after
      f->shutdown is set, before calling qemu_file_set_error() in
      qemu_file_shutdown().
      
      So the safiest way is checking the iovcnt before increasing it.
      
      Signed-off-by: default avatarFeng Lin <linfeng23@huawei.com>
      Message-Id: <20210625062138.1899-1-linfeng23@huawei.com>
      Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
        Fix typo in 'writeable' which is actually misnamed 'writable'
      c00d434a
    • Peter Xu's avatar
      tests: migration-test: Add dirty ring test · 1f546b70
      Peter Xu authored
      
      Add dirty ring test if kernel supports it.  Add the dirty ring parameter on
      source should be mostly enough, but let's change the dest too to make them
      match always.
      
      Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      Signed-off-by: default avatarPeter Xu <peterx@redhat.com>
      Message-Id: <20210615175523.439830-3-peterx@redhat.com>
      Reviewed-by: default avatarJuan Quintela <quintela@redhat.com>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      1f546b70
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/marcel/tags/pvrdma-04-07-2021-v2' into staging · 4fb28208
      Peter Maydell authored
      
      PVRDMA queue
      
      Several CVE fixes for the PVRDMA device.
      
      # gpg: Signature made Sun 04 Jul 2021 20:56:05 BST
      # gpg:                using RSA key 36D4C0F0CF2FE46D
      # gpg: Good signature from "Marcel Apfelbaum <marcel.apfelbaum@zoho.com>" [marginal]
      # gpg:                 aka "Marcel Apfelbaum <marcel@redhat.com>" [marginal]
      # gpg:                 aka "Marcel Apfelbaum <marcel.apfelbaum@gmail.com>" [marginal]
      # gpg: WARNING: This key is not certified with sufficiently trusted signatures!
      # gpg:          It is not certain that the signature belongs to the owner.
      # Primary key fingerprint: B1C6 3A57 F92E 08F2 640F  31F5 36D4 C0F0 CF2F E46D
      
      * remotes/marcel/tags/pvrdma-04-07-2021-v2:
        pvrdma: Fix the ring init error flow (CVE-2021-3608)
        pvrdma: Ensure correct input on ring init (CVE-2021-3607)
        hw/rdma: Fix possible mremap overflow in the pvrdma device (CVE-2021-3582)
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      4fb28208
  2. Jul 04, 2021
  3. Jul 03, 2021
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20210702' into staging · 73c8bf4c
      Peter Maydell authored
      
      target-arm queue:
       * more MVE instructions
       * hw/gpio/gpio_pwr: use shutdown function for reboot
       * target/arm: Check NaN mode before silencing NaN
       * tests: Boot and halt a Linux guest on the Raspberry Pi 2 machine
       * hw/arm: Add basic power management to raspi.
       * docs/system/arm: Add quanta-gbs-bmc, quanta-q7l1-bmc
      
      # gpg: Signature made Fri 02 Jul 2021 13:59:19 BST
      # gpg:                using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE
      # gpg:                issuer "peter.maydell@linaro.org"
      # gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" [ultimate]
      # gpg:                 aka "Peter Maydell <pmaydell@gmail.com>" [ultimate]
      # gpg:                 aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>" [ultimate]
      # Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83  15CF 3C25 25ED 1436 0CDE
      
      * remotes/pmaydell/tags/pull-target-arm-20210702: (24 commits)
        target/arm: Implement MVE shifts by register
        target/arm: Implement MVE shifts by immediate
        target/arm: Implement MVE long shifts by register
        target/arm: Implement MVE long shifts by immediate
        target/arm: Implement MVE VADDLV
        target/arm: Implement MVE VSHLC
        target/arm: Implement MVE saturating narrowing shifts
        target/arm: Implement MVE VSHRN, VRSHRN
        target/arm: Implement MVE VSRI, VSLI
        target/arm: Implement MVE VSHLL
        target/arm: Implement MVE vector shift right by immediate insns
        target/arm: Implement MVE vector shift left by immediate insns
        target/arm: Implement MVE logical immediate insns
        target/arm: Use dup_const() instead of bitfield_replicate()
        target/arm: Use asimd_imm_const for A64 decode
        target/arm: Make asimd_imm_const() public
        target/arm: Fix bugs in MVE VRMLALDAVH, VRMLSLDAVH
        target/arm: Fix MVE widening/narrowing VLDR/VSTR offset calculation
        hw/gpio/gpio_pwr: use shutdown function for reboot
        target/arm: Check NaN mode before silencing NaN
        ...
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      73c8bf4c
  4. Jul 02, 2021
Loading