• Robin Holt's avatar
    Silent data corruption caused by XPC · d6b7fe9e
    Robin Holt authored
    Jack Steiner identified a problem where XPC can cause a silent
    data corruption.  On module load, the placement may cause the
    xpc_remote_copy_buffer to span two physical pages.  DMA transfers are
    done to the start virtual address translated to physical.
    
    This patch changes the buffer from a statically allocated buffer to a
    kmalloc'd buffer.  Dean Nelson reviewed this before posting.  I have
    tested it in the configuration that was showing the memory corruption
    and verified it works.  I also added a BUG_ON statement to help catch
    this if a similar situation is encountered.
    Signed-off-by: default avatarRobin Holt <holt@sgi.com>
    Signed-off-by: default avatarDean Nelson <dcn@sgi.com>
    Signed-off-by: default avatarJack Steiner <steiner@sgi.com>
    Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    d6b7fe9e
xpc.h 41.4 KB