xen/21333-xentrace-t_info-size.patch

25 lines
900 B
Diff

# HG changeset patch
# User Keir Fraser <keir.fraser@citrix.com>
# Date 1273479772 -3600
# Node ID 93c5beba9d04d3e8d2522241bad14107433c3121
# Parent 3b6e33ebb57b670a48ad138aecb47cbd32a4e986
xentrace: fix bug in t_info size
t_info size should be in bytes, not pages. This fixes a bug
that crashes the hypervisor if the total number of all pages
is more than 1024 but less than 2048.
Signed-off-by: George Dunlap <george.dunlap@citrix.com>
--- a/xen/common/trace.c
+++ b/xen/common/trace.c
@@ -297,7 +297,7 @@ int tb_control(xen_sysctl_tbuf_op_t *tbc
case XEN_SYSCTL_TBUFOP_get_info:
tbc->evt_mask = tb_event_mask;
tbc->buffer_mfn = t_info ? virt_to_mfn(t_info) : 0;
- tbc->size = T_INFO_PAGES;
+ tbc->size = T_INFO_PAGES * PAGE_SIZE;
break;
case XEN_SYSCTL_TBUFOP_set_cpu_mask:
xenctl_cpumap_to_cpumask(&tb_cpu_mask, &tbc->cpu_mask);