• Borislav Petkov (AMD)'s avatar
    x86/CPU/AMD: Fix the DIV(0) initial fix attempt · f58d6fbc
    Borislav Petkov (AMD) authored
    Initially, it was thought that doing an innocuous division in the #DE
    handler would take care to prevent any leaking of old data from the
    divider but by the time the fault is raised, the speculation has already
    advanced too far and such data could already have been used by younger
    operations.
    
    Therefore, do the innocuous division on every exit to userspace so that
    userspace doesn't see any potentially old data from integer divisions in
    kernel space.
    
    Do the same before VMRUN too, to protect host data from leaking into the
    guest too.
    
    Fixes: 77245f1c ("x86/CPU/AMD: Do not leak quotient data after a division by 0")
    Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
    Cc: <stable@kernel.org>
    Link: https://lore.kernel.org/r/20230811213824.10025-1-bp@alien8.de
    f58d6fbc
amd.c 34.2 KB