• Chris Wright's avatar
    x86: properly initialize temp insn buffer for paravirt patching · d34fda4a
    Chris Wright authored
    With commit ab144f5e the patching code
    now collects the complete new instruction stream into a temp buffer
    before finally patching in the new insns.  In some cases the paravirt
    patchers will choose to leave the patch site unpatched (length mismatch,
    clobbers mismatch, etc).
    
    This causes the new patching code to copy an uninitialized temp buffer,
    i.e.  garbage, to the callsite.  Simply make sure to always initialize
    the buffer with the original instruction stream.  A better fix is to
    audit all the patchers and return proper length so that apply_paravirt()
    can skip copies when we leave the patch site untouched.
    Signed-off-by: default avatarChris Wright <chrisw@sous-sol.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    d34fda4a
alternative.c 10.9 KB