• Andrew Boyer's avatar
    IB/rxe: Avoid ICRC errors by copying into the skb first · 13eb1e21
    Andrew Boyer authored
    The current process is to first calculate the CRC and then copy the client
    data into the packet. This leaves a window in which the packet contents and
    CRC can get out of sync, if the client changes the data after the CRC is
    calculated but before the data is copied.
    
    By copying the data into the packet and then calculating the CRC directly
    from the packet contents we eliminate the window.
    
    This can be seen with qperf's ud_bi_bw test. This seems like very
    strange/reckless client behavior, but whether the client has mangled its
    data or not RXE should be able to transfer it reliably.
    
    Fixes: 8700e3e7 ("Soft RoCE driver")
    Signed-off-by: default avatarAndrew Boyer <andrew.boyer@dell.com>
    Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
    13eb1e21
rxe_mr.c 12.4 KB