linux/drivers/target/iscsi
Nicholas Bellinger f80e8ed395 iscsi-target: Fix iov_count calculation bug in iscsit_allocate_iovecs
This patch fixes a bug in iscsit_allocate_iovecs() where iov_count was
incorrectly calculated using min(1UL, data_length / PAGE_SIZE) instead of
max(1UL, data_length / PAGE_SIZE), that ends up triggering an OOPs for
large block I/O when the SGL <-> iovec mapping exceeds the bogus iov_count
allocation size.

This is a regression introduced during the iscsi-target conversion back
to using core memory allocation here:

commit bfb79eac20
Author: Andy Grover <agrover@redhat.com>
Date:   Tue Apr 3 15:51:29 2012 -0700

    target/iscsi: Go back to core allocating data buffer for cmd

Cc: Andy Grover <agrover@redhat.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2012-05-20 17:25:24 -07:00
..
Kconfig target: iscsi_target depends on NET 2011-07-28 20:16:18 +00:00
Makefile
iscsi_target.c iscsi-target: Fix iov_count calculation bug in iscsit_allocate_iovecs 2012-05-20 17:25:24 -07:00
iscsi_target.h target/iscsi: Misc cleanups from Agrover (round 2) 2012-04-14 17:40:35 -07:00
iscsi_target_auth.c iscsi-target: fix chap identifier simple_strtoul usage 2011-12-14 11:28:09 +00:00
iscsi_target_auth.h
iscsi_target_configfs.c target/iscsi: Misc cleanups from Agrover (round 2) 2012-04-14 17:40:35 -07:00
iscsi_target_configfs.h
iscsi_target_core.h target/iscsi: Go back to core allocating data buffer for cmd 2012-04-14 17:40:39 -07:00
iscsi_target_datain_values.c target/iscsi: Eliminate iscsi_cmd.data_length 2012-04-14 17:40:38 -07:00
iscsi_target_datain_values.h
iscsi_target_device.c target/iscsi: Remove unneeded wrapper functions 2012-02-25 14:37:47 -08:00
iscsi_target_device.h target/iscsi: Remove unneeded wrapper functions 2012-02-25 14:37:47 -08:00
iscsi_target_erl0.c target/iscsi: Eliminate iscsi_cmd.data_length 2012-04-14 17:40:38 -07:00
iscsi_target_erl0.h
iscsi_target_erl1.c target/iscsi: Eliminate iscsi_cmd.data_length 2012-04-14 17:40:38 -07:00
iscsi_target_erl1.h
iscsi_target_erl2.c target/iscsi: Rename iscsi_cmd.i_list to iscsi_cmd.i_conn_node 2012-04-14 17:40:33 -07:00
iscsi_target_erl2.h
iscsi_target_login.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending 2012-03-22 12:38:04 -07:00
iscsi_target_login.h
iscsi_target_nego.c target: remove obvious warnings 2012-03-15 19:16:09 -07:00
iscsi_target_nego.h
iscsi_target_nodeattrib.c iscsi-target: remove improper externs 2012-03-17 18:07:04 -07:00
iscsi_target_nodeattrib.h
iscsi_target_parameters.c iscsi-target: remove dead code in iscsi_check_valuelist_for_support 2012-05-17 12:04:53 -07:00
iscsi_target_parameters.h
iscsi_target_seq_pdu_list.c target/iscsi: cleanup some allocation style issues 2012-05-06 15:02:33 -07:00
iscsi_target_seq_pdu_list.h target/iscsi: Fold _decide_list_to_build into _build_pdu_and_seq_lists 2012-04-14 17:40:38 -07:00
iscsi_target_stat.c target: remove useless casts 2011-12-14 11:28:07 +00:00
iscsi_target_stat.h
iscsi_target_tmr.c target/iscsi: Eliminate iscsi_cmd.data_length 2012-04-14 17:40:38 -07:00
iscsi_target_tmr.h
iscsi_target_tpg.c target: remove useless casts 2011-12-14 11:28:07 +00:00
iscsi_target_tpg.h
iscsi_target_tq.c target: Use LIST_HEAD()/DEFINE_MUTEX() for static objects 2012-02-25 14:37:46 -08:00
iscsi_target_tq.h
iscsi_target_util.c target/iscsi: Go back to core allocating data buffer for cmd 2012-04-14 17:40:39 -07:00
iscsi_target_util.h target/iscsi: Fold _decide_list_to_build into _build_pdu_and_seq_lists 2012-04-14 17:40:38 -07:00