summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlonglong yan <yanlonglong@kylinos.cn>2026-06-05 05:14:45 +0300
committerMichael S. Tsirkin <mst@redhat.com>2026-06-10 09:16:59 +0300
commitec6177dfe98b9be1c3ede6c0dfe4394ea2a76959 (patch)
tree774aac3654a8cc7c864a2646fd212dfbc5d0af62
parent8f6898fe80794f2d7c3d38c1158c806e4074a1c4 (diff)
downloadlinux-ec6177dfe98b9be1c3ede6c0dfe4394ea2a76959.tar.xz
tools/virtio: check mmap return value in vringh_test
In parallel_test(), the return values of mmap() for both host_map and guest_map are not checked against MAP_FAILED. If mmap() fails, the subsequent code will dereference the invalid pointer, leading to a segmentation fault. Add MAP_FAILED checks after both mmap() calls, using err() to report the error and exit, consistent with the existing error handling style in this file (e.g., the open() call on line 149). Fixes: 1515c5ce26ae ("tools/virtio: add vring_test.") Signed-off-by: longlong yan <yanlonglong@kylinos.cn> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Message-ID: <20260605021446.1611-1-yanlonglong@kylinos.cn>
-rw-r--r--tools/virtio/vringh_test.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/tools/virtio/vringh_test.c b/tools/virtio/vringh_test.c
index b9591223437a..5ea6d29bc992 100644
--- a/tools/virtio/vringh_test.c
+++ b/tools/virtio/vringh_test.c
@@ -159,7 +159,12 @@ static int parallel_test(u64 features,
/* Parent and child use separate addresses, to check our mapping logic! */
host_map = mmap(NULL, mapsize, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
+ if (host_map == MAP_FAILED)
+ err(1, "mmap host_map");
+
guest_map = mmap(NULL, mapsize, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
+ if (guest_map == MAP_FAILED)
+ err(1, "mmap guest_map");
pipe_ret = pipe(to_guest);
assert(!pipe_ret);