From: Tim Deegan <Tim.Deegan@citrix.com>
To: xen-devel@lists.xensource.com
Subject: [PATCH] Xen: fix various checks of unsigned integers < 0
Date: Fri, 29 Oct 2010 15:02:19 +0100 [thread overview]
Message-ID: <20101029140219.GD11016@whitby.uk.xensource.com> (raw)
# HG changeset patch
# User Tim Deegan <Tim.Deegan@citrix.com>
# Date 1288360674 -3600
# Node ID 52ce5ef855cf2582749d2d0812754ac074cc14e9
# Parent 3cc0fac4a49e29ca0b841c8354a0a9c0686e3d58
Xen: fix various checks of unsigned integers < 0
Some of these could be benignly discarded by the compiler but some are
actual bugs.
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
diff -r 3cc0fac4a49e -r 52ce5ef855cf xen/arch/x86/mm.c
--- a/xen/arch/x86/mm.c Fri Oct 29 14:57:50 2010 +0100
+++ b/xen/arch/x86/mm.c Fri Oct 29 14:57:54 2010 +0100
@@ -4533,7 +4533,7 @@ static int handle_iomem_range(unsigned l
ent.size = (uint64_t)(s - ctxt->s) << PAGE_SHIFT;
ent.type = E820_RESERVED;
buffer = guest_handle_cast(ctxt->map.buffer, e820entry_t);
- if ( __copy_to_guest_offset(buffer, ctxt->n, &ent, 1) < 0 )
+ if ( __copy_to_guest_offset(buffer, ctxt->n, &ent, 1) )
return -EFAULT;
ctxt->n++;
}
@@ -4750,7 +4750,7 @@ long arch_memory_op(int op, XEN_GUEST_HA
}
if ( ctxt.map.nr_entries <= ctxt.n + (e820.nr_map - i) )
return -EINVAL;
- if ( __copy_to_guest_offset(buffer, ctxt.n, e820.map + i, 1) < 0 )
+ if ( __copy_to_guest_offset(buffer, ctxt.n, e820.map + i, 1) )
return -EFAULT;
ctxt.s = PFN_UP(e820.map[i].addr + e820.map[i].size);
}
diff -r 3cc0fac4a49e -r 52ce5ef855cf xen/arch/x86/physdev.c
--- a/xen/arch/x86/physdev.c Fri Oct 29 14:57:50 2010 +0100
+++ b/xen/arch/x86/physdev.c Fri Oct 29 14:57:54 2010 +0100
@@ -202,7 +202,7 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_H
if ( copy_from_guest(&eoi, arg, 1) != 0 )
break;
ret = -EINVAL;
- if ( eoi.irq < 0 || eoi.irq >= v->domain->nr_pirqs )
+ if ( eoi.irq >= v->domain->nr_pirqs )
break;
if ( v->domain->arch.pirq_eoi_map )
evtchn_unmask(v->domain->pirq_to_evtchn[eoi.irq]);
diff -r 3cc0fac4a49e -r 52ce5ef855cf xen/arch/x86/platform_hypercall.c
--- a/xen/arch/x86/platform_hypercall.c Fri Oct 29 14:57:50 2010 +0100
+++ b/xen/arch/x86/platform_hypercall.c Fri Oct 29 14:57:54 2010 +0100
@@ -418,7 +418,6 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
}
if ( (g_info->xen_cpuid >= NR_CPUS) ||
- (g_info->xen_cpuid < 0) ||
!cpu_present(g_info->xen_cpuid) )
{
g_info->flags |= XEN_PCPU_FLAGS_INVALID;
diff -r 3cc0fac4a49e -r 52ce5ef855cf xen/arch/x86/x86_emulate/x86_emulate.c
--- a/xen/arch/x86/x86_emulate/x86_emulate.c Fri Oct 29 14:57:50 2010 +0100
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c Fri Oct 29 14:57:54 2010 +0100
@@ -2102,7 +2102,7 @@ x86_emulate(
_regs.edx = (uint32_t)(((int32_t)_regs.eax < 0) ? -1 : 0);
break;
case 8:
- _regs.edx = (_regs.eax < 0) ? -1 : 0;
+ _regs.edx = ((int64_t)_regs.eax < 0) ? -1 : 0;
break;
}
break;
diff -r 3cc0fac4a49e -r 52ce5ef855cf xen/drivers/cpufreq/cpufreq.c
--- a/xen/drivers/cpufreq/cpufreq.c Fri Oct 29 14:57:50 2010 +0100
+++ b/xen/drivers/cpufreq/cpufreq.c Fri Oct 29 14:57:54 2010 +0100
@@ -116,8 +116,7 @@ int cpufreq_limit_change(unsigned int cp
!processor_pminfo[cpu])
return -ENODEV;
- if ((perf->platform_limit < 0) ||
- (perf->platform_limit >= perf->state_count))
+ if (perf->platform_limit >= perf->state_count)
return -EINVAL;
memcpy(&policy, data, sizeof(struct cpufreq_policy));
next reply other threads:[~2010-10-29 14:02 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-29 14:02 Tim Deegan [this message]
2010-10-29 15:38 ` [PATCH] Xen: fix various checks of unsigned integers < 0 Dan Magenheimer
2010-10-29 21:23 ` Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20101029140219.GD11016@whitby.uk.xensource.com \
--to=tim.deegan@citrix.com \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.