linux/drivers/ata
James Bottomley d0ad3bc97c [SCSI] libata: fix corruption induced by relaxed DMA alignment in SCSI
Hugh Dickens noticed that SMART commands issued from user space can
end up corupting memory.  The problem occurs if the buffer used to
read data spans two pages.  The reason is that the PIO sector routines
in libata are expecting physically contiguous pages when they do
sector operations, so the left overs on the second page go into the
next physically adjacent page rather than the next page in the sg
mapping.

Fix this by enforcing strict 512 byte alignment on all buffers from
userspace.

Acked-by: Hugh Dickins <hugh@veritas.com>
Acked-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
2008-01-23 11:27:54 -06:00
..
ahci.c libata: kill spurious NCQ completion detection 2007-12-07 15:27:54 -05:00
ata_generic.c
ata_piix.c ata_piix: add Toshiba Tecra M4 to broken suspend list 2007-12-07 15:27:54 -05:00
Kconfig Update libata driver for bf548 atapi controller against the 2.6.24 tree. 2007-10-17 20:49:02 -04:00
libata-acpi.c libata-acpi: implement _GTF command filtering 2007-12-17 20:33:15 -05:00
libata-core.c libata: fix ATAPI draining 2007-12-17 20:43:28 -05:00
libata-eh.c libata: don't normalize UNKNOWN to NONE after reset 2008-01-10 16:53:22 -05:00
libata-pmp.c libata-pmp: 4726 hates SRST 2008-01-10 16:53:12 -05:00
libata-scsi.c [SCSI] libata: fix corruption induced by relaxed DMA alignment in SCSI 2008-01-23 11:27:54 -06:00
libata-sff.c libata-sff: PCI IRQ handling fix 2008-01-10 16:52:51 -05:00
libata.h libata-acpi: add new hooks ata_acpi_dissociate() and ata_acpi_on_disable() 2007-12-17 20:33:12 -05:00
Makefile drivers/ata: add support to Freescale 3.0Gbps SATA Controller 2007-10-17 20:49:02 -04:00
pata_acpi.c [libata] fix 'if(' and similar areas that lack whitespace 2007-10-29 06:15:27 -04:00
pata_ali.c pata_ali: trim trailing whitespace (fix checkpatch complaints) 2007-11-23 21:08:42 -05:00
pata_amd.c pata_amd/pata_via: de-couple programming of PIO/MWDMA and UDMA timings 2007-12-04 14:11:36 -05:00
pata_artop.c
pata_at32.c Several fixes for the AVR32 PATA driver 2007-12-01 17:35:58 -05:00
pata_atiixp.c pata_atiixp: Audit notes on locking 2007-10-12 14:55:42 -04:00
pata_bf54x.c Set proper ATA UDMA mode for bf548 according to system clock. 2007-12-01 17:35:58 -05:00
pata_cmd64x.c pata_cmd64x.c typo fix 2007-10-20 01:02:48 +02:00
pata_cmd640.c
pata_cs5520.c [libata] struct pci_dev related cleanups 2007-10-12 14:55:47 -04:00
pata_cs5530.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pata_cs5535.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pata_cs5536.c pata_cs5536: MWDMA fix 2007-10-19 22:55:03 -04:00
pata_cypress.c
pata_efar.c
pata_hpt3x2n.c
pata_hpt3x3.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
pata_hpt37x.c pata_hpt37x: Fix HPT374 detection 2007-12-19 14:29:01 -08:00
pata_hpt366.c
pata_icside.c Fix pata_icside build for recent libata API changes 2007-10-25 02:05:26 -04:00
pata_isapnp.c pata_isapnp: Polled devices 2007-11-23 19:33:27 -05:00
pata_it821x.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pata_it8213.c
pata_ixp4xx_cf.c pata_ixp4xx_cf: fix compilation introduced by ata_port_desc() conversion 2008-01-10 16:53:10 -05:00
pata_jmicron.c pata_jmicron: fix disabled port handling in jmicron_pre_reset() 2007-11-23 19:23:55 -05:00
pata_legacy.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
pata_marvell.c
pata_mpc52xx.c mpc52xx-ata: fix compile warning (unused variable) 2007-10-14 08:57:30 -07:00
pata_mpiix.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pata_netcell.c
pata_ns87410.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pata_ns87415.c pata_ns87415: define SUPERIO_IDE_MAX_RETRIES 2007-10-29 06:21:33 -04:00
pata_oldpiix.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pata_opti.c
pata_optidma.c [libata] fix 'if(' and similar areas that lack whitespace 2007-10-29 06:15:27 -04:00
pata_pcmcia.c [libata] Address some checkpatch-spotted issues 2007-10-29 06:15:27 -04:00
pata_pdc202xx_old.c pata_pdc202xx_old: Further fixups 2008-01-10 16:52:53 -05:00
pata_pdc2027x.c [libata] fix 'if(' and similar areas that lack whitespace 2007-10-29 06:15:27 -04:00
pata_platform.c libata: pata_platform: Support polling-mode configuration. 2007-11-08 13:08:41 -05:00
pata_qdi.c libata: implement and use ata_port_desc() to report port configuration 2007-10-12 14:55:37 -04:00
pata_radisys.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pata_rz1000.c
pata_sc1200.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pata_scc.c libata: implement ata_wait_after_reset() 2007-10-29 06:15:27 -04:00
pata_serverworks.c pata_serverworks: Fix problem with some drive combinations 2007-11-05 18:08:46 -05:00
pata_sil680.c pata_sil680: kill bogus reset code (take 2) 2007-11-23 19:23:55 -05:00
pata_sis.c pata_sis.c: Add Packard Bell EasyNote K5305 to laptops 2007-11-19 12:28:11 +09:00
pata_sl82c105.c
pata_triflex.c
pata_via.c pata_amd/pata_via: de-couple programming of PIO/MWDMA and UDMA timings 2007-12-04 14:11:36 -05:00
pata_winbond.c [libata] fix 'if(' and similar areas that lack whitespace 2007-10-29 06:15:27 -04:00
pdc_adma.c [libata] Address some checkpatch-spotted issues 2007-10-29 06:15:27 -04:00
sata_fsl.c ata/sata_fsl: Remove ata_scsi_suspend/resume callbacks 2007-11-03 08:46:29 -04:00
sata_inic162x.c [libata] Address some checkpatch-spotted issues 2007-10-29 06:15:27 -04:00
sata_mv.c sata_mv: improve warnings about Highpoint RocketRAID 23xx cards 2007-12-17 20:33:12 -05:00
sata_nv.c sata_nv: don't use legacy DMA in ADMA mode (v3) 2007-12-04 14:01:18 -05:00
sata_promise.c sata_promise: fix endianess bug in ASIC PRD bug workaround 2007-11-03 08:46:54 -04:00
sata_promise.h
sata_qstor.c sata_qstor: use hardreset instead of softreset 2008-01-10 16:52:41 -05:00
sata_sil.c libata: clear link->eh_info.serror from ata_std_postreset() 2007-12-17 20:33:11 -05:00
sata_sil24.c sata_sil24: prevent hba lockup when pass-through ATA commands are used 2008-01-10 16:54:01 -05:00
sata_sis.c [libata] Address some checkpatch-spotted issues 2007-10-29 06:15:27 -04:00
sata_svw.c [libata] Address some checkpatch-spotted issues 2007-10-29 06:15:27 -04:00
sata_sx4.c [libata] Address some checkpatch-spotted issues 2007-10-29 06:15:27 -04:00
sata_uli.c [libata] Address some checkpatch-spotted issues 2007-10-29 06:15:27 -04:00
sata_via.c [libata] Address some checkpatch-spotted issues 2007-10-29 06:15:27 -04:00
sata_vsc.c [libata] Address some checkpatch-spotted issues 2007-10-29 06:15:27 -04:00
sis.h