summary refs log tree commit diff stats
path: root/docs/devel/secure-coding-practices.rst
diff options
context:
space:
mode:
authorFabiano Rosas <farosas@suse.de>2024-06-17 15:57:31 -0300
committerFabiano Rosas <farosas@suse.de>2024-06-21 09:47:23 -0300
commit31a5a3032eb3d62e045e18c80658e5e8f5341cda (patch)
treef5f19e054df543915f9cf1c83190d784a5081f23 /docs/devel/secure-coding-practices.rst
parent8d60280e4f1621e13aea4aa593b5bc3e2af34e9d (diff)
downloadfocaccia-qemu-31a5a3032eb3d62e045e18c80658e5e8f5341cda.tar.gz
focaccia-qemu-31a5a3032eb3d62e045e18c80658e5e8f5341cda.zip
tests/qtest/migration: Add a test for mapped-ram with passing of fds
Add a multifd test for mapped-ram with passing of fds into QEMU. This
is how libvirt will consume the feature.

There are a couple of details to the fdset mechanism:

- multifd needs two distinct file descriptors (not duplicated with
  dup()) so it can enable O_DIRECT only on the channels that do
  aligned IO. The dup() system call creates file descriptors that
  share status flags, of which O_DIRECT is one.

- the open() access mode flags used for the fds passed into QEMU need
  to match the flags QEMU uses to open the file. Currently O_WRONLY
  for src and O_RDONLY for dst.

Note that fdset code goes under _WIN32 because fd passing is not
supported on Windows.

Reviewed-by: Peter Xu <peterx@redhat.com>
[brought back the qmp_remove_fd() call at the end of the tests]
Signed-off-by: Fabiano Rosas <farosas@suse.de>
Diffstat (limited to 'docs/devel/secure-coding-practices.rst')
0 files changed, 0 insertions, 0 deletions