mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
x86: properly check XEN_DOMCTL_ioport_mapping arguments for invalid range
In particular, the case of "np" being a very large value wasn't handled correctly. The range start checks also were off by one (except that in practice, when "np" is properly range checked, this would still have been caught by the range end checks). Also, is a GFN wrap in XEN_DOMCTL_memory_mapping really okay? Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
This commit is contained in:
1 parent
96f0763e3f
commit
7be78546fb
1 file changed
+1
-1
@@ -884,7 +884,7 @@ long arch_do_domctl(
|
||||
int found = 0;
|
||||
|
||||
ret = -EINVAL;
|
||||
if ( (np == 0) || (fgp > MAX_IOPORTS) || (fmp > MAX_IOPORTS) ||
|
||||
if ( ((fgp | fmp | (np - 1)) >= MAX_IOPORTS) ||
|
||||
((fgp + np) > MAX_IOPORTS) || ((fmp + np) > MAX_IOPORTS) )
|
||||
{
|
||||
printk(XENLOG_G_ERR
|
||||
|
||||