• Paolo Bonzini's avatar
    KVM: x86: fix size of x86_fpu_cache objects · ed8e4812
    Paolo Bonzini authored
    The memory allocation in b666a4b6 ("kvm: x86: Dynamically allocate
    guest_fpu", 2018-11-06) is wrong, there are other members in struct fpu
    before the fpregs_state union and the patch should be doing something
    similar to the code in fpu__init_task_struct_size.  It's enough to run
    a guest and then rmmod kvm to see slub errors which are actually caused
    by memory corruption.
    
    For now let's revert it to sizeof(struct fpu), which is conservative.
    I have plans to move fsave/fxsave/xsave directly in KVM, without using
    the kernel FPU helpers, and once it's done, the size of the object in
    the cache will be something like kvm_xstate_size.
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    ed8e4812
x86.c 252 KB