|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] bitopts functions overflowing page boundarys
u.inuse.type_info is at the end of the pfn_info structure, and is
u32 for both x86_32 and x86_64--in this location it can also be the
last 32 bits of a page.
several functions use bitopts.h functions to manipulate this member, and
on x86_64 these functions use u64 instructions, which will overflow the
page boundary, and possibly the end of memory as we see here:
(XEN) &page->u.inuse.type_info = 0xffff828402fffffc
(XEN) CPU: 0
(XEN) EIP: e010:[<ffff830000129089>]
<registers and stack ommitted>
(XEN) Pagetable walk from ffff828403000000:
(XEN) L4 = 00000000016a5063
(XEN) L3 = 00000000016a6063
(XEN) L2 = 0000000000000000
****************************************
Panic on CPU0:
CPU0 FATAL PAGE FAULT
[error_code=0002]
Faulting linear address: ffff828403000000
****************************************
the attached patch fixes this.
sRp
--
Scott Parish
Signed-off-by: srparish@xxxxxxxxxx
32bit.diff
Description: Text document
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] bitopts functions overflowing page boundarys,
Scott Parish <=
|
|
|
|
|