[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v2 01/40] target-ppc: Document TOCTTOU in hugepage su
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PULL v2 01/40] target-ppc: Document TOCTTOU in hugepage support |
Date: |
Mon, 21 Mar 2016 21:43:24 +0100 |
The code to find the minimum page size is is vulnerable to TOCTTOU.
Added in commit 2d103aa "target-ppc: fix hugepage support when using
memory-backend-file" (v2.4.0). Since I can't fix it myself right now,
add a FIXME comment.
Cc: Paolo Bonzini <address@hidden>
Cc: Michael Roth <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
---
target-ppc/kvm.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/target-ppc/kvm.c b/target-ppc/kvm.c
index 776336b..2fc9931 100644
--- a/target-ppc/kvm.c
+++ b/target-ppc/kvm.c
@@ -333,6 +333,12 @@ static long gethugepagesize(const char *mem_path)
return fs.f_bsize;
}
+/*
+ * FIXME TOCTTOU: this iterates over memory backends' mem-path, which
+ * may or may not name the same files / on the same filesystem now as
+ * when we actually open and map them. Iterate over the file
+ * descriptors instead, and use qemu_fd_getpagesize().
+ */
static int find_max_supported_pagesize(Object *obj, void *opaque)
{
char *mem_path;
--
2.4.3
- [Qemu-devel] [PULL v2 06/40] tests/libqos/pci-pc: Fix qpci_pc_iomap() to map BARs aligned, (continued)
- [Qemu-devel] [PULL v2 06/40] tests/libqos/pci-pc: Fix qpci_pc_iomap() to map BARs aligned, Markus Armbruster, 2016/03/21
- [Qemu-devel] [PULL v2 11/40] ivshmem: Add missing newlines to debug printfs, Markus Armbruster, 2016/03/21
- [Qemu-devel] [PULL v2 14/40] ivshmem: Drop ivshmem_event() stub, Markus Armbruster, 2016/03/21
- [Qemu-devel] [PULL v2 15/40] ivshmem: Don't destroy the chardev on version mismatch, Markus Armbruster, 2016/03/21
- [Qemu-devel] [PULL v2 24/40] ivshmem: Plug leaks on unplug, fix peer disconnect, Markus Armbruster, 2016/03/21
- [Qemu-devel] [PULL v2 20/40] ivshmem: Leave INTx alone when using MSI-X, Markus Armbruster, 2016/03/21
- [Qemu-devel] [PULL v2 27/40] ivshmem: Rely on server sending the ID right after the version, Markus Armbruster, 2016/03/21
- [Qemu-devel] [PULL v2 29/40] ivshmem: Simplify how we cope with short reads from server, Markus Armbruster, 2016/03/21
- [Qemu-devel] [PULL v2 31/40] ivshmem: Implement shm=... with a memory backend, Markus Armbruster, 2016/03/21
- [Qemu-devel] [PULL v2 35/40] ivshmem: Replace int role_val by OnOffAuto master, Markus Armbruster, 2016/03/21
- [Qemu-devel] [PULL v2 01/40] target-ppc: Document TOCTTOU in hugepage support,
Markus Armbruster <=
- [Qemu-devel] [PULL v2 25/40] ivshmem: Receive shared memory synchronously in realize(), Markus Armbruster, 2016/03/21
- [Qemu-devel] [PULL v2 10/40] ivshmem: Rewrite specification document, Markus Armbruster, 2016/03/21
- [Qemu-devel] [PULL v2 39/40] ivshmem: Require master to have ID zero, Markus Armbruster, 2016/03/21
- [Qemu-devel] [PULL v2 03/40] ivshmem-server: Don't overload POSIX shmem and file name, Markus Armbruster, 2016/03/21
- [Qemu-devel] [PULL v2 19/40] ivshmem: Clean up MSI-X conditions, Markus Armbruster, 2016/03/21
- [Qemu-devel] [PULL v2 32/40] ivshmem: Simplify memory regions for BAR 2 (shared memory), Markus Armbruster, 2016/03/21
- [Qemu-devel] [PULL v2 37/40] ivshmem: Clean up after the previous commit, Markus Armbruster, 2016/03/21
- [Qemu-devel] [PULL v2 26/40] ivshmem: Propagate errors through ivshmem_recv_setup(), Markus Armbruster, 2016/03/21
- [Qemu-devel] [PULL v2 40/40] contrib/ivshmem-server: Print "not for production" warning, Markus Armbruster, 2016/03/21
- [Qemu-devel] [PULL v2 36/40] ivshmem: Split ivshmem-plain, ivshmem-doorbell off ivshmem, Markus Armbruster, 2016/03/21