target: fix buffer offset in core_scsi3_pri_read_full_status
authortangwenji <tang.wenji@zte.com.cn>
Thu, 17 Aug 2017 11:51:54 +0000 (19:51 +0800)
committerNicholas Bellinger <nab@linux-iscsi.org>
Sat, 4 Nov 2017 21:45:21 +0000 (14:45 -0700)
commitc58a252beb04cf0e02d6a746b2ed7ea89b6deb71
tree785099e62f55e4ff5e580b2109377ec3d9858daa
parent88fb2fa7db7510bf1078226ab48d162d9854f3d4
target: fix buffer offset in core_scsi3_pri_read_full_status

When at least two initiators register pr on the same LUN,
the target returns the exception data due to buffer offset
error, therefore the initiator executes command 'sg_persist -s'
may cause the initiator to appear segfault error.

This fixes a regression originally introduced by:

  commit a85d667e58bddf73be84d1981b41eaac985ed216
  Author: Bart Van Assche <bart.vanassche@sandisk.com>
  Date:   Tue May 23 16:48:27 2017 -0700

      target: Use {get,put}_unaligned_be*() instead of open coding these functions

Signed-off-by: tangwenji <tang.wenji@zte.com.cn>
Cc: stable@vger.kernel.org # 4.13+
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/target_core_pr.c