summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
diff options
context:
space:
mode:
authorManish Chopra <manish.chopra@qlogic.com>2016-08-03 11:02:02 +0300
committerDavid S. Miller <davem@davemloft.net>2016-08-03 22:03:35 +0300
commit2b10d3ecf2dac737653828889ff85f614318f01a (patch)
treeeb166e6f5b5eba6bccde25861235626fdb67b0a8 /drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c
parentcfaa21893bae71f527f751e056fb35ee1dabdec1 (diff)
downloadlinux-2b10d3ecf2dac737653828889ff85f614318f01a.tar.xz
qlcnic: fix data structure corruption in async mbx command handling
This patch fixes a data structure corruption bug in the SRIOV VF mailbox handler code. While handling mailbox commands from the atomic context, driver is accessing and updating qlcnic_async_work_list_struct entry fields in the async work list. These fields could be concurrently accessed by the work function resulting in data corruption. This patch restructures async mbx command handling by using a separate async command list instead of using a list of work_struct structures. A single work_struct is used to schedule and handle the async commands with proper locking mechanism. Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com> Signed-off-by: Sony Chacko <sony.chacko@qlogic.com> Signed-off-by: Manish Chopra <manish.chopra@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c')
0 files changed, 0 insertions, 0 deletions