android_kernel_xiaomi_sm8350/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
acpi backlight: Separate backlight properties from backlight ops pointers 2007-02-20 09:26:53 +00:00
amba
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
cdrom
char [PATCH] tty: use NULL for ptrs 2007-02-20 17:10:14 -08:00
clocksource
connector
cpufreq
crypto
dio
dma
edac
eisa
fc4
firmware
hid
hwmon
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
leds
macintosh backlight: Separate backlight properties from backlight ops pointers 2007-02-20 09:26:53 +00:00
mca
md
media
message
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
parisc
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
ps3
rapidio
rtc [PATCH] at91_rtc updates 2007-02-20 17:10:15 -08:00
s390
sbus
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
spi [PATCH] spi_s3c2410_gpio.c spi mode 2 and 3 support 2007-02-20 17:10:16 -08:00
tc
telephony
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
zorro
Kconfig
Makefile