kernel-ark/drivers/scsi
Hugh Dickins 6bc733e9f7 [SCSI] st: fix a bug in sgl_map_user_pages failure path
Nick and I had already been looking at drivers/scsi/{sg.c,st.c},
brought there by __put_page in sg.c's peculiar sg_rb_correct4mmap,
which we'd like to remove.  But that's irrelevant to your pain, except...

One extract from the patches I'd like to send Doug and Kai for 2.6.15
or 2.6.16 is this below: since the incomplete get_user_pages path omits
to reset res, but has already released all the pages, it will result in
premature freeing of user pages, and behaviour just like you've seen.

Though I'd have thought incomplete get_user_pages was an exceptional
case, and a bit surprised you'd encounter it.  Perhaps there's some
other premature freeing in the driver, and this instance has nothing
whatever to do with it.

If the problem were easily reproducible, it'd be great if you could
try this patch; but I think you've said it's not :-(

Signed-off-by: Kai Makisara <kai.makisara@kolumbus.fi>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2005-12-01 16:16:06 -06:00
..
aacraid [SCSI] aacraid: Check scsi_bios_ptabe return code 2005-12-01 15:59:44 -06:00
aic7xxx [SCSI] aic7xxx: reset handler selects a wrong command 2005-11-28 12:28:26 -06:00
aic7xxx_old
arm
dpt
ibmvscsi
lpfc
megaraid
pcmcia
qla2xxx
sym53c8xx_2 [SCSI] sym2: Disable IU and QAS negotiation 2005-12-01 15:59:50 -06:00
3w-9xxx.c
3w-9xxx.h
3w-xxxx.c
3w-xxxx.h
53c7xx_d.h_shipped
53c7xx_u.h_shipped
53c7xx.c
53c7xx.h
53c7xx.scr
53c700_d.h_shipped
53c700.c
53c700.h
53c700.scr
a100u2w.c
a100u2w.h
a2091.c
a2091.h
a3000.c
a3000.h
advansys.c
advansys.h
aha152x.c
aha152x.h
aha1542.c
aha1542.h
aha1740.c
aha1740.h
ahci.c [libata] bump versions 2005-11-16 11:06:59 -05:00
aic7xxx_old.c
amiga7xx.c
amiga7xx.h
ata_piix.c [libata] bump versions 2005-11-16 11:06:59 -05:00
atari_dma_emul.c
atari_NCR5380.c
atari_scsi.c
atari_scsi.h
atp870u.c
atp870u.h
blz1230.c
blz2060.c
BusLogic.c
BusLogic.h
bvme6000.c
bvme6000.h
ch.c
constants.c
cyberstorm.c
cyberstormII.c
dc395x.c
dc395x.h
dec_esp.c
dmx3191d.c
dpt_i2o.c [PATCH] drivers/scsi/dpt_i2o.c: fix a NULL pointer dereference 2005-11-27 20:23:46 -08:00
dpti.h
dtc.c
dtc.h
eata_generic.h
eata_pio.c
eata_pio.h
eata.c
esp.c
esp.h
fastlane.c
fcal.c
fcal.h
fd_mcs.c
fdomain.c
fdomain.h
FlashPoint.c
g_NCR5380_mmio.c
g_NCR5380.c
g_NCR5380.h
gdth_ioctl.h
gdth_kcompat.h
gdth_proc.c
gdth_proc.h
gdth.c
gdth.h
gvp11.c
gvp11.h
hosts.c
hosts.h
ibmmca.c
ibmmca.h
ide-scsi.c [PATCH] ide: remove ide_driver_t.owner field 2005-11-18 22:15:40 +01:00
imm.c
imm.h
in2000.c
in2000.h
initio.c
initio.h
ipr.c
ipr.h
ips.c
ips.h
iscsi_tcp.c
iscsi_tcp.h
jazz_esp.c
Kconfig
lasi700.c
libata-core.c [libata] add timeout to commands for which we call wait_completion() 2005-11-17 10:50:01 -05:00
libata-scsi.c
libata.h [libata] bump versions 2005-11-16 11:06:59 -05:00
mac53c94.c
mac53c94.h
mac_esp.c
mac_scsi.c
mac_scsi.h
Makefile
mca_53c9x.c
megaraid.c
megaraid.h
mesh.c
mesh.h
mvme16x.c
mvme16x.h
mvme147.c
mvme147.h
ncr53c8xx.c
ncr53c8xx.h
NCR53c406a.c
NCR53C9x.c
NCR53C9x.h
NCR5380.c
NCR5380.h
NCR_D700.c
NCR_D700.h
NCR_Q720.c
NCR_Q720.h
nsp32_debug.c
nsp32_io.h
nsp32.c
nsp32.h
oktagon_esp.c
oktagon_io.S
osst_detect.h
osst_options.h
osst.c
osst.h
pas16.c
pas16.h
pci2000.h
pdc_adma.c
pluto.c
pluto.h
ppa.c
ppa.h
psi240i.c
psi240i.h
psi_chip.h
ql1040_fw.h
ql1280_fw.h
ql12160_fw.h
qla1280.c
qla1280.h
qlogicfas408.c
qlogicfas408.h
qlogicfas.c
qlogicfc_asm.c
qlogicfc.c
qlogicpti_asm.c
qlogicpti.c
qlogicpti.h
raid_class.c
sata_mv.c [libata sata_mv] update copyright, driver version 2005-11-18 14:04:23 -05:00
sata_nv.c
sata_promise.c [libata] bump versions 2005-11-16 11:06:59 -05:00
sata_promise.h
sata_qstor.c [libata] bump versions 2005-11-16 11:06:59 -05:00
sata_sil24.c [PATCH] sil24: make error_intr less verbose 2005-11-18 13:11:39 -05:00
sata_sil.c
sata_sis.c
sata_svw.c [libata] bump versions 2005-11-16 11:06:59 -05:00
sata_sx4.c [libata] bump versions 2005-11-16 11:06:59 -05:00
sata_uli.c
sata_via.c
sata_vsc.c [libata] bump versions 2005-11-16 11:06:59 -05:00
script_asm.pl
scsi_debug.c
scsi_debug.h
scsi_devinfo.c
scsi_error.c
scsi_ioctl.c
scsi_lib.c
scsi_logging.h
scsi_module.c
scsi_priv.h
scsi_proc.c
scsi_scan.c
scsi_sysctl.c
scsi_sysfs.c
scsi_transport_fc.c
scsi_transport_iscsi.c
scsi_transport_sas.c
scsi_transport_spi.c [SCSI] SPI DV: be more conservative about echo buffer usage 2005-12-01 15:59:43 -06:00
scsi_typedefs.h
scsi.c [PATCH] Fix a bug in scsi_get_command 2005-11-22 09:13:44 -08:00
scsi.h
scsicam.c
sd.c
seagate.c
seagate.h
sg.c
sgiwd93.c
sim710.c
sr_ioctl.c
sr_vendor.c
sr.c
sr.h
st_options.h
st.c [SCSI] st: fix a bug in sgl_map_user_pages failure path 2005-12-01 16:16:06 -06:00
st.h
sun3_NCR5380.c
sun3_scsi_vme.c
sun3_scsi.c
sun3_scsi.h
sun3x_esp.c
sym53c8xx_comm.h
sym53c8xx_defs.h
sym53c416.c
sym53c416.h
t128.c
t128.h
tmscsim.c
tmscsim.h
u14-34f.c
ultrastor.c
ultrastor.h
wd33c93.c
wd33c93.h
wd7000.c
zalon.c