xen: fix incorrect vcpu_register_vcpu_info hypercall argument
The kernel's copy of struct vcpu_register_vcpu_info was out of date, at best causing the hypercall to fail and the guest kernel to fall back to the old mechanism, or worse, causing random memory corruption. [ Stable folks: applies to 2.6.23 ] Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com> Cc: Stable Kernel <stable@kernel.org> Cc: Morten =?utf-8?q?B=C3=B8geskov?= <xen-users@morten.bogeskov.dk> Cc: Mark Williamson <mark.williamson@cl.cam.ac.uk>
This commit is contained in:
Родитель
fb1d84043c
Коммит
e3d2697669
|
@ -113,7 +113,7 @@ static void __init xen_vcpu_setup(int cpu)
|
|||
info.mfn = virt_to_mfn(vcpup);
|
||||
info.offset = offset_in_page(vcpup);
|
||||
|
||||
printk(KERN_DEBUG "trying to map vcpu_info %d at %p, mfn %x, offset %d\n",
|
||||
printk(KERN_DEBUG "trying to map vcpu_info %d at %p, mfn %llx, offset %d\n",
|
||||
cpu, vcpup, info.mfn, info.offset);
|
||||
|
||||
/* Check to see if the hypervisor will put the vcpu_info
|
||||
|
|
|
@ -160,8 +160,9 @@ struct vcpu_set_singleshot_timer {
|
|||
*/
|
||||
#define VCPUOP_register_vcpu_info 10 /* arg == struct vcpu_info */
|
||||
struct vcpu_register_vcpu_info {
|
||||
uint32_t mfn; /* mfn of page to place vcpu_info */
|
||||
uint64_t mfn; /* mfn of page to place vcpu_info */
|
||||
uint32_t offset; /* offset within page */
|
||||
uint32_t rsvd; /* unused */
|
||||
};
|
||||
|
||||
#endif /* __XEN_PUBLIC_VCPU_H__ */
|
||||
|
|
Загрузка…
Ссылка в новой задаче