Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:draht:parking
kvm
kvm-qemu-preXX-pci-assign-Harden-I-O-port-test....
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File kvm-qemu-preXX-pci-assign-Harden-I-O-port-test.patch of Package kvm
From 1d1c8a498b7ce5c5636f1014f7ad18aa4e1acc0a Mon Sep 17 00:00:00 2001 From: Alex Williamson <alex.williamson@redhat.com> Date: Wed, 16 Nov 2011 13:46:45 -0700 Subject: [PATCH] pci-assign: Harden I/O port test Markus Armbruster points out that we're missing a < 0 check from pread while trying to probe for pci-sysfs io-port resource support. We don't expect a short read, but we should harden the test to abort if we get one so we're not potentially looking at a stale errno. Signed-off-by: Alex Williamson <alex.williamson@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com> --- hw/device-assignment.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/hw/device-assignment.c b/hw/device-assignment.c index 0160de7..7e6f972 100644 --- a/hw/device-assignment.c +++ b/hw/device-assignment.c @@ -434,8 +434,9 @@ static int assigned_dev_register_regions(PCIRegion *io_regions, * kernels return EIO. New kernels only allow 1/2/4 byte reads * so should return EINVAL for a 3 byte read */ ret = pread(pci_dev->v_addrs[i].region->resource_fd, &val, 3, 0); - if (ret == 3) { - fprintf(stderr, "I/O port resource supports 3 byte read?!\n"); + if (ret >= 0) { + fprintf(stderr, "Unexpected return from I/O port read: %d\n", + ret); abort(); } else if (errno != EINVAL) { fprintf(stderr, "Using raw in/out ioport access (sysfs - %s)\n", -- 1.7.7
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor