[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] libxc: Verify Magic number when reading dump
# HG changeset patch # User kaf24@xxxxxxxxxxxxxxxxxxxx # Node ID 9de50910defdde100c9598570a317152cba6f8c1 # Parent 0161a721bad5ab40557868d1bd6d3022cf972bb7 libxc: Verify Magic number when reading dump The xen core files record a magic number, but when they are loaded it isn't checked. This patch resolves this. Signed-Off-By: Horms <horms@xxxxxxxxxxxx> diff -r 0161a721bad5 -r 9de50910defd tools/libxc/xc_core.c --- a/tools/libxc/xc_core.c Mon Mar 6 14:02:26 2006 +++ b/tools/libxc/xc_core.c Mon Mar 6 14:04:18 2006 @@ -61,7 +61,7 @@ nr_pages = info.nr_pages; - header.xch_magic = 0xF00FEBED; + header.xch_magic = XC_CORE_MAGIC; header.xch_nr_vcpus = nr_vcpus; header.xch_nr_pages = nr_pages; header.xch_ctxt_offset = sizeof(struct xc_core_header); diff -r 0161a721bad5 -r 9de50910defd tools/libxc/xc_ptrace_core.c --- a/tools/libxc/xc_ptrace_core.c Mon Mar 6 14:02:26 2006 +++ b/tools/libxc/xc_ptrace_core.c Mon Mar 6 14:04:18 2006 @@ -111,6 +111,13 @@ if (read(domfd, &header, sizeof(header)) != sizeof(header)) return -1; + if (header.xch_magic != XC_CORE_MAGIC) { + printf("Magic number missmatch: 0x%08x (file) != " + " 0x%08x (code)\n", header.xch_magic, + XC_CORE_MAGIC); + return -1; + } + nr_pages = header.xch_nr_pages; nr_vcpus = header.xch_nr_vcpus; pages_offset = header.xch_pages_offset; diff -r 0161a721bad5 -r 9de50910defd tools/libxc/xenctrl.h --- a/tools/libxc/xenctrl.h Mon Mar 6 14:02:26 2006 +++ b/tools/libxc/xenctrl.h Mon Mar 6 14:04:18 2006 @@ -92,6 +92,7 @@ unsigned int xch_pages_offset; } xc_core_header_t; +#define XC_CORE_MAGIC 0xF00FEBED long xc_ptrace_core( int xc_handle, _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |