• Nicholas Bellinger's avatar
    iscsi-target: Fix sendpage breakage with proper padding+DataDigest iovec offsets · 40b05497
    Nicholas Bellinger authored
    This patch fixes a bug in the iscsit_fe_sendpage_sg() transmit codepath that
    was originally introduced with the v3.1 iscsi-target merge that incorrectly
    uses hardcoded cmd->iov_data_count values to determine cmd->iov_data[] offsets
    for extra outgoing padding and DataDigest payload vectors.
    
    This code is obviously incorrect for the DataDigest enabled case with sendpage
    offload, and this fix ensures correct operation for padding + DataDigest,
    padding only, and DataDigest only cases.  The bug was introduced during a
    pre-merge change in iscsit_fe_sendpage_sg() to natively use struct scatterlist
    instead of the legacy v3.0 struct se_mem logic.
    
    Cc: Andy Grover <agrover@redhat.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
    40b05497
iscsi_target_util.c 39.8 KB