scsi: target: core: Prevent underflow for service actions
authorAleksandr Miloserdov <a.miloserdov@yadro.com>
Tue, 9 Feb 2021 07:22:02 +0000 (10:22 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Mar 2021 16:06:26 +0000 (17:06 +0100)
commit1b0b0c0b9ae9b24431488d98314a8631a1ce925c
treee847ffbb97823aefdcacacabef7d8e75731fb733
parent17c2c52051c4e0c42c8e54ee087f89fb6c78b86b
scsi: target: core: Prevent underflow for service actions

[ Upstream commit 14d24e2cc77411301e906a8cf41884739de192de ]

TCM buffer length doesn't necessarily equal 8 + ADDITIONAL LENGTH which
might be considered an underflow in case of Data-In size being greater than
8 + ADDITIONAL LENGTH. So truncate buffer length to prevent underflow.

Link: https://lore.kernel.org/r/20210209072202.41154-3-a.miloserdov@yadro.com
Reviewed-by: Roman Bolshakov <r.bolshakov@yadro.com>
Reviewed-by: Bodo Stroesser <bostroesser@gmail.com>
Signed-off-by: Aleksandr Miloserdov <a.miloserdov@yadro.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/target/target_core_pr.c