xen/21682-trace-buffer-range.patch

27 lines
969 B
Diff

# HG changeset patch
# User Keir Fraser <keir.fraser@citrix.com>
# Date 1277738876 -3600
# Node ID 7e46fdbe8a1187cee2ab609256300d7967f37f06
# Parent bf64e1081333696c68c9430cbc32c8bd6ee18796
xentrace: restrict trace buffer MFNs
Since they're being passed to Dom0 using an array of uint32_t, they
must be representable as 32-bit quantities, and hence the buffer
allocation must specify an upper address boundary.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
--- a/xen/common/trace.c
+++ b/xen/common/trace.c
@@ -152,7 +152,8 @@ static int alloc_trace_bufs(void)
char *rawbuf;
struct t_buf *buf;
- if ( (rawbuf = alloc_xenheap_pages(order, 0)) == NULL )
+ if ( (rawbuf = alloc_xenheap_pages(
+ order, MEMF_bits(32 + PAGE_SHIFT))) == NULL )
{
printk("Xen trace buffers: memory allocation failed\n");
opt_tbuf_size = 0;