android_kernel_motorola_sm6225/drivers
Mark Lord 2b06719153 libata bugfix: HDIO_DRIVE_TASK
I was trying to use HDIO_DRIVE_TASK for something today,
and discovered that the libata implementation does not copy
over the upper four LBA bits from args[6].

This is serious, as any tools using this ioctl would have their
commands applied to the wrong sectors on the drive, possibly resulting
in disk corruption.

Ideally, newer apps should use SG_IO/ATA_16 directly,
avoiding this bug.  But with libata poised to displace drivers/ide,
better compatibility here is a must.

This patch fixes libata to use the upper four LBA bits passed
in from the ioctl.

The original drivers/ide implementation copies over all bits
except for the master/slave select bit.  With this patch,
libata will copy only the four high-order LBA bits,
just in case there are assumptions elsewhere in libata (?).

Signed-Off-By:  Mark Lord <mlord@pobox.com>

Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-02-21 04:58:17 -05:00
..
acorn [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
acpi backlight: Separate backlight properties from backlight ops pointers 2007-02-20 09:26:53 +00:00
amba [ARM] Fix __must_check warnings in drivers/bus/amba.c 2006-11-30 14:04:49 +00:00
ata libata bugfix: HDIO_DRIVE_TASK 2007-02-21 04:58:17 -05:00
atm atm: Use ARRAY_SIZE macro when appropriate 2007-02-17 15:30:48 -05:00
auxdisplay [PATCH] cfag12864b: fix crash when built-in and no parport present 2007-02-20 17:10:14 -08:00
base [PATCH] rework reserved major handling 2007-02-20 17:10:13 -08:00
block [PATCH] pktcdvd: Correctly set cmd_len field in pkt_generic_packet 2007-02-20 17:10:14 -08:00
bluetooth [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
cdrom [PATCH] sysctl: remove insert_at_head from register_sysctl 2007-02-14 08:09:59 -08:00
char [PATCH] tty: use NULL for ptrs 2007-02-20 17:10:14 -08:00
clocksource [PATCH] Allow early access to the power management timer 2007-02-16 08:13:58 -08:00
connector [PATCH] connector: some fixes for ia64 unaligned access errors 2007-01-05 23:55:29 -08:00
cpufreq Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq 2007-02-16 08:16:01 -08:00
crypto [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
dio
dma [PATCH] slab: remove SLAB_KERNEL 2006-12-07 08:39:24 -08:00
edac [PATCH] EDAC: Add Fully-Buffered DIMM APIs to core 2007-02-12 09:48:32 -08:00
eisa
fc4 [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
firmware [PATCH] docbook: add edd firmware interfaces 2007-02-11 10:51:32 -08:00
hid [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
hwmon hwmon/vt1211: Add probing of alternate config index port 2007-02-14 21:15:05 +01:00
i2c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-02-19 13:29:02 -08:00
ide Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-02-19 13:29:02 -08:00
ieee1394 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-02-19 13:29:02 -08:00
infiniband Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-02-19 13:29:02 -08:00
input Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/dtor/input 2007-02-19 13:31:34 -08:00
isdn [PATCH] drivers/isdn/gigaset/: build asyncdata.o into the gigaset module 2007-02-20 17:10:16 -08:00
kvm [PATCH] i386: Convert i386 PDA code to use %fs 2007-02-13 13:26:20 +01:00
leds [PATCH] Fix leds-s3c24xx hardware.h reference 2007-01-05 23:55:21 -08:00
macintosh backlight: Separate backlight properties from backlight ops pointers 2007-02-20 09:26:53 +00:00
mca
md [PATCH] sysctl: remove insert_at_head from register_sysctl 2007-02-14 08:09:59 -08:00
media Storage class should be before const qualifier 2007-02-17 20:11:19 +01:00
message [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
mfd [PATCH] mfd: SM501 core driver 2007-02-20 17:10:14 -08:00
misc backlight: Separate backlight properties from backlight ops pointers 2007-02-20 09:26:53 +00:00
mmc Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm 2007-02-19 13:18:39 -08:00
mtd Merge git://git.infradead.org/mtd-2.6 2007-02-19 13:34:11 -08:00
net Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2007-02-20 10:26:46 -08:00
nubus
oprofile [PATCH] mark struct file_operations const 5 2007-02-12 09:48:45 -08:00
parisc [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
parport [PATCH] parport_pc: fix parport_pc_probe_port section warning 2007-02-20 17:10:16 -08:00
pci Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-02-19 13:29:02 -08:00
pcmcia Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-02-19 13:29:02 -08:00
pnp Pull misc-for-upstream into release branch 2007-02-16 18:52:41 -05:00
ps3 [POWERPC] PS3: System manager support 2007-02-16 14:00:19 +11:00
rapidio [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
rtc [PATCH] at91_rtc updates 2007-02-20 17:10:15 -08:00
s390 [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
sbus Various typo fixes. 2007-02-17 19:07:33 +01:00
scsi Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2007-02-19 13:32:28 -08:00
serial [PATCH] 8250: Fix GCC4 signed/unsigned mismatch warning 2007-02-20 17:10:15 -08:00
sh
sn [PATCH] IOC3/IOC4: PCI mem space resources 2007-02-11 10:51:25 -08:00
spi [PATCH] spi_s3c2410_gpio.c spi mode 2 and 3 support 2007-02-20 17:10:16 -08:00
tc [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
telephony [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
usb backlight: Separate backlight properties from backlight ops pointers 2007-02-20 09:26:53 +00:00
video [PATCH] i810fb: fix i810_check_params section mismatch 2007-02-20 17:10:16 -08:00
w1 [PATCH] w1: Use ARRAY_SIZE macro when appropriate 2007-02-12 09:48:28 -08:00
zorro [PATCH] mark struct file_operations const 6 2007-02-12 09:48:45 -08:00
Kconfig [PATCH] drivers: add LCD support 2007-02-11 10:51:24 -08:00
Makefile [PATCH] drivers: add LCD support 2007-02-11 10:51:24 -08:00