diff options
author | Xiubo Li <lixiubo@cmss.chinamobile.com> | 2017-03-27 17:07:40 +0800 |
---|---|---|
committer | Nicholas Bellinger <nab@linux-iscsi.org> | 2017-03-30 01:36:52 -0700 |
commit | ab22d2604c86ceb01bb2725c9860b88a7dd383bb (patch) | |
tree | 8b8db155ecf02c3219d796a361baa314b9651311 /include | |
parent | 49cb77e297dc611a1b795cfeb79452b3002bd331 (diff) | |
download | linux-stable-ab22d2604c86ceb01bb2725c9860b88a7dd383bb.tar.gz linux-stable-ab22d2604c86ceb01bb2725c9860b88a7dd383bb.tar.bz2 linux-stable-ab22d2604c86ceb01bb2725c9860b88a7dd383bb.zip |
tcmu: Fix possible overwrite of t_data_sg's last iov[]
If there has BIDI data, its first iov[] will overwrite the last
iov[] for se_cmd->t_data_sg.
To fix this, we can just increase the iov pointer, but this may
introuduce a new memory leakage bug: If the se_cmd->data_length
and se_cmd->t_bidi_data_sg->length are all not aligned up to the
DATA_BLOCK_SIZE, the actual length needed maybe larger than just
sum of them.
So, this could be avoided by rounding all the data lengthes up
to DATA_BLOCK_SIZE.
Reviewed-by: Mike Christie <mchristi@redhat.com>
Tested-by: Ilias Tsitsimpis <iliastsi@arrikto.com>
Reviewed-by: Bryant G. Ly <bryantly@linux.vnet.ibm.com>
Signed-off-by: Xiubo Li <lixiubo@cmss.chinamobile.com>
Cc: stable@vger.kernel.org # 3.18+
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions