https://github.com/torvalds/linux
Revision 0db99e3359234be181590463184b9959059a9ea9 authored by Mike Christie on 26 August 2006, 07:00:22 UTC, committed by James Bottomley on 26 August 2006, 15:03:14 UTC
The callers of scsi_send_eh_cmnd are setting the cmnd buffer,
and then scsi_send_eh_cmnd is copying that updated buffer to
the old_cmnd variable. Then after the command runs, we end up
copying that old_cmnd var which has the new cmnd to the scsi
command buffer. When this command gets recent, all types of fun
things happen like getting TUR or START_STOP commands with
data and scatterlists.

This patch made against scsi-rc-fixes, has the callers of
scsi_send_eh_cmnd pass in the command so scsi_send_eh_cmnd
can do the right thing. This should go into 2.6.18 since this
fixes a regression added when we removed some of the scsi_cmnd
fields and replaced them with local variables.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
1 parent 15a3758
History
Tip revision: 0db99e3359234be181590463184b9959059a9ea9 authored by Mike Christie on 26 August 2006, 07:00:22 UTC
[SCSI] fix scsi_send_eh_cmnd regression
Tip revision: 0db99e3
File Mode Size
linux-2.6
quota
support
Kbuild -rw-r--r-- 177 bytes
Kconfig -rw-r--r-- 3.1 KB
Makefile -rw-r--r-- 65 bytes
Makefile-linux-2.6 -rw-r--r-- 3.4 KB
xfs.h -rw-r--r-- 819 bytes
xfs_acl.c -rw-r--r-- 22.1 KB
xfs_acl.h -rw-r--r-- 3.4 KB
xfs_ag.h -rw-r--r-- 7.9 KB
xfs_alloc.c -rw-r--r-- 73.6 KB
xfs_alloc.h -rw-r--r-- 5.9 KB
xfs_alloc_btree.c -rw-r--r-- 64.9 KB
xfs_alloc_btree.h -rw-r--r-- 5.3 KB
xfs_arch.h -rw-r--r-- 6.4 KB
xfs_attr.c -rw-r--r-- 67.2 KB
xfs_attr.h -rw-r--r-- 6.6 KB
xfs_attr_leaf.c -rw-r--r-- 87.8 KB
xfs_attr_leaf.h -rw-r--r-- 11.0 KB
xfs_attr_sf.h -rw-r--r-- 4.2 KB
xfs_behavior.c -rw-r--r-- 4.4 KB
xfs_behavior.h -rw-r--r-- 6.8 KB
xfs_bit.c -rw-r--r-- 7.5 KB
xfs_bit.h -rw-r--r-- 2.0 KB
xfs_bmap.c -rw-r--r-- 197.5 KB
xfs_bmap.h -rw-r--r-- 12.7 KB
xfs_bmap_btree.c -rw-r--r-- 75.1 KB
xfs_bmap_btree.h -rw-r--r-- 12.8 KB
xfs_btree.c -rw-r--r-- 24.7 KB
xfs_btree.h -rw-r--r-- 14.5 KB
xfs_buf_item.c -rw-r--r-- 32.5 KB
xfs_buf_item.h -rw-r--r-- 5.0 KB
xfs_cap.h -rw-r--r-- 2.1 KB
xfs_clnt.h -rw-r--r-- 4.4 KB
xfs_da_btree.c -rw-r--r-- 66.1 KB
xfs_da_btree.h -rw-r--r-- 10.1 KB
xfs_dfrag.c -rw-r--r-- 9.3 KB
xfs_dfrag.h -rw-r--r-- 1.5 KB
xfs_dinode.h -rw-r--r-- 10.8 KB
xfs_dir2.c -rw-r--r-- 18.7 KB
xfs_dir2.h -rw-r--r-- 3.9 KB
xfs_dir2_block.c -rw-r--r-- 35.3 KB
xfs_dir2_block.h -rw-r--r-- 3.0 KB
xfs_dir2_data.c -rw-r--r-- 24.8 KB
xfs_dir2_data.h -rw-r--r-- 5.6 KB
xfs_dir2_leaf.c -rw-r--r-- 52.6 KB
xfs_dir2_leaf.h -rw-r--r-- 8.0 KB
xfs_dir2_node.c -rw-r--r-- 56.5 KB
xfs_dir2_node.h -rw-r--r-- 3.5 KB
xfs_dir2_sf.c -rw-r--r-- 36.8 KB
xfs_dir2_sf.h -rw-r--r-- 6.1 KB
xfs_dir2_trace.c -rw-r--r-- 5.8 KB
xfs_dir2_trace.h -rw-r--r-- 2.8 KB
xfs_dmapi.h -rw-r--r-- 5.8 KB
xfs_dmops.c -rw-r--r-- 1.2 KB
xfs_error.c -rw-r--r-- 6.4 KB
xfs_error.h -rw-r--r-- 6.5 KB
xfs_extfree_item.c -rw-r--r-- 17.5 KB
xfs_extfree_item.h -rw-r--r-- 5.0 KB
xfs_fs.h -rw-r--r-- 18.7 KB
xfs_fsops.c -rw-r--r-- 16.1 KB
xfs_fsops.h -rw-r--r-- 1.3 KB
xfs_ialloc.c -rw-r--r-- 40.7 KB
xfs_ialloc.h -rw-r--r-- 5.1 KB
xfs_ialloc_btree.c -rw-r--r-- 60.3 KB
xfs_ialloc_btree.h -rw-r--r-- 5.5 KB
xfs_iget.c -rw-r--r-- 25.8 KB
xfs_imap.h -rw-r--r-- 1.4 KB
xfs_inode.c -rw-r--r-- 136.4 KB
xfs_inode.h -rw-r--r-- 17.9 KB
xfs_inode_item.c -rw-r--r-- 30.8 KB
xfs_inode_item.h -rw-r--r-- 6.3 KB
xfs_inum.h -rw-r--r-- 2.7 KB
xfs_iocore.c -rw-r--r-- 3.1 KB
xfs_iomap.c -rw-r--r-- 25.7 KB
xfs_iomap.h -rw-r--r-- 3.5 KB
xfs_itable.c -rw-r--r-- 23.9 KB
xfs_itable.h -rw-r--r-- 2.7 KB
xfs_log.c -rw-r--r-- 105.9 KB
xfs_log.h -rw-r--r-- 5.3 KB
xfs_log_priv.h -rw-r--r-- 18.5 KB
xfs_log_recover.c -rw-r--r-- 111.4 KB
xfs_log_recover.h -rw-r--r-- 2.0 KB
xfs_mac.h -rw-r--r-- 3.8 KB
xfs_mount.c -rw-r--r-- 56.1 KB
xfs_mount.h -rw-r--r-- 23.5 KB
xfs_qmops.c -rw-r--r-- 3.4 KB
xfs_quota.h -rw-r--r-- 14.7 KB
xfs_refcache.h -rw-r--r-- 1.7 KB
xfs_rename.c -rw-r--r-- 16.4 KB
xfs_rtalloc.c -rw-r--r-- 65.1 KB
xfs_rtalloc.h -rw-r--r-- 5.5 KB
xfs_rw.c -rw-r--r-- 10.9 KB
xfs_rw.h -rw-r--r-- 3.3 KB
xfs_sb.h -rw-r--r-- 17.7 KB
xfs_trans.c -rw-r--r-- 35.5 KB
xfs_trans.h -rw-r--r-- 36.0 KB
xfs_trans_ail.c -rw-r--r-- 14.3 KB
xfs_trans_buf.c -rw-r--r-- 31.0 KB
xfs_trans_extfree.c -rw-r--r-- 3.6 KB
xfs_trans_inode.c -rw-r--r-- 8.6 KB
xfs_trans_item.c -rw-r--r-- 13.4 KB
xfs_trans_priv.h -rw-r--r-- 2.1 KB
xfs_trans_space.h -rw-r--r-- 3.4 KB
xfs_types.h -rw-r--r-- 5.8 KB
xfs_utils.c -rw-r--r-- 12.1 KB
xfs_utils.h -rw-r--r-- 1.6 KB
xfs_vfsops.c -rw-r--r-- 52.1 KB
xfs_vnodeops.c -rw-r--r-- 114.2 KB

back to top