mirror of
https://github.com/qemu/qemu.git
synced 2024-11-28 22:33:36 +08:00
hax: Fix setting of FD_CLOEXEC
Blindly setting FD_CLOEXEC without a read-modify-write will inadvertently clear any other intentionally-set bits, such as a proposed new bit for designating a fd that must behave in 32-bit mode. Use our wrapper function instead of an incorrect hand-rolled version. Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <20200420175309.75894-2-eblake@redhat.com> Reviewed-by: Colin Xu <colin.xu@intel.com>
This commit is contained in:
parent
00d69986da
commit
8cf58a49f8
@ -23,7 +23,7 @@ hax_fd hax_mod_open(void)
|
||||
fprintf(stderr, "Failed to open the hax module\n");
|
||||
}
|
||||
|
||||
fcntl(fd, F_SETFD, FD_CLOEXEC);
|
||||
qemu_set_cloexec(fd);
|
||||
|
||||
return fd;
|
||||
}
|
||||
@ -147,7 +147,7 @@ hax_fd hax_host_open_vm(struct hax_state *hax, int vm_id)
|
||||
fd = open(vm_name, O_RDWR);
|
||||
g_free(vm_name);
|
||||
|
||||
fcntl(fd, F_SETFD, FD_CLOEXEC);
|
||||
qemu_set_cloexec(fd);
|
||||
|
||||
return fd;
|
||||
}
|
||||
@ -200,7 +200,7 @@ hax_fd hax_host_open_vcpu(int vmid, int vcpuid)
|
||||
if (fd < 0) {
|
||||
fprintf(stderr, "Failed to open the vcpu devfs\n");
|
||||
}
|
||||
fcntl(fd, F_SETFD, FD_CLOEXEC);
|
||||
qemu_set_cloexec(fd);
|
||||
return fd;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user