linux/drivers/ide
Mikulas Patocka acfead32f3 ide: don't call memcpy with the same source and destination
The parisc architecture recently reimplemented the memcpy function and
their reimplementation crashed when source and destination overlapped.

The crash happened in the function ide_complete_cmd where memcpy is called
with the same source and destination pointer. According to the C
specification, memcpy behavior is undefined if the source and destination
range overlaps. This patches fixes the undefined behavior.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-05-08 17:36:39 -04:00
..
Kconfig block: make scsi_request and scsi ioctl support optional 2017-01-31 10:53:05 -07:00
Makefile Remove celleb-only SCC PATA drivers 2015-04-14 13:07:17 -04:00
aec62xx.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
ali14xx.c sections: fix section conflicts in drivers/ide 2012-10-06 03:04:41 +09:00
alim15x3.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
amd74xx.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
atiixp.c Drivers: ide: Remove typedef atiixp_ide_timing 2014-10-15 14:27:38 -04:00
au1xxx-ide.c ide: drop owner assignment from platform_drivers 2014-10-20 16:20:38 +02:00
buddha.c zorro: ZTWO_VADDR() should return "void __iomem *" 2013-11-26 11:09:07 +01:00
cmd64x.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
cmd640.c cmd640: add __init attribute 2016-07-26 15:25:30 -07:00
cs5520.c ide: remove deprecated use of pci api 2015-04-17 15:32:07 -04:00
cs5530.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
cs5535.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
cs5536.c ide: cs5536: use module_pci_driver() 2013-11-14 18:21:25 -05:00
cy82c693.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
delkin_cb.c drivers/ide/delkin_cb: Convert to module_pci_driver 2013-07-10 12:09:10 -07:00
dtc2278.c sections: fix section conflicts in drivers/ide 2012-10-06 03:04:41 +09:00
falconide.c
gayle.c ide: drop owner assignment from platform_drivers 2014-10-20 16:20:38 +02:00
hpt366.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
ht6560b.c sections: fix section conflicts in drivers/ide 2012-10-06 03:04:41 +09:00
icside.c ide: icside: remove incorrect initconst annotation 2016-03-20 16:59:27 -04:00
ide-4drives.c module_param: make bool parameters really bool (drivers & misc) 2012-01-13 09:32:20 +10:30
ide-acpi.c lib/vsprintf.c: remove %Z support 2017-02-27 18:43:47 -08:00
ide-atapi.c scsi: introduce a result field in struct scsi_request 2017-04-20 12:16:10 -06:00
ide-cd.c scsi: introduce a result field in struct scsi_request 2017-04-20 12:16:10 -06:00
ide-cd.h block: split out request-only flags into a new namespace 2016-10-28 08:45:17 -06:00
ide-cd_ioctl.c scsi: introduce a result field in struct scsi_request 2017-04-20 12:16:10 -06:00
ide-cd_verbose.c block: split scsi_request out of struct request 2017-01-27 15:08:35 -07:00
ide-cs.c drivers/ide/ide-cs.c: adjust suspicious bit operation 2012-06-12 15:51:41 -07:00
ide-devsets.c ide-pm: always pass 0 error to ide_complete_rq in ide_do_devset 2017-04-26 07:53:35 -06:00
ide-disk.c block: remove the blk_execute_rq return value 2017-04-20 12:16:10 -06:00
ide-disk.h
ide-disk_ioctl.c block: autoconvert trivial BKL users to private mutex 2010-10-05 15:01:10 +02:00
ide-disk_proc.c procfs: new helper - PDE_DATA(inode) 2013-04-09 14:13:32 -04:00
ide-dma-sff.c ide/ata: Add export.h for EXPORT_SYMBOL/THIS_MODULE where needed 2011-10-31 19:31:37 -04:00
ide-dma.c scsi: introduce a result field in struct scsi_request 2017-04-20 12:16:10 -06:00
ide-eh.c scsi: introduce a result field in struct scsi_request 2017-04-20 12:16:10 -06:00
ide-floppy.c scsi: introduce a result field in struct scsi_request 2017-04-20 12:16:10 -06:00
ide-floppy.h
ide-floppy_ioctl.c block: add and use scsi_blk_cmd_ioctl 2012-01-14 15:07:24 -08:00
ide-floppy_proc.c procfs: new helper - PDE_DATA(inode) 2013-04-09 14:13:32 -04:00
ide-gd.c block: convert to device_add_disk() 2016-06-27 12:26:08 -07:00
ide-gd.h
ide-generic.c Revert "ide: Fix interface autodetection in legacy IDE driver (trial #2)" 2017-01-09 15:27:59 -05:00
ide-io-std.c ide/ata: Add export.h for EXPORT_SYMBOL/THIS_MODULE where needed 2011-10-31 19:31:37 -04:00
ide-io.c ide: don't call memcpy with the same source and destination 2017-05-08 17:36:39 -04:00
ide-ioctls.c scsi: introduce a result field in struct scsi_request 2017-04-20 12:16:10 -06:00
ide-iops.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
ide-legacy.c ide/ata: Add export.h for EXPORT_SYMBOL/THIS_MODULE where needed 2011-10-31 19:31:37 -04:00
ide-lib.c ide,ata: Rename ATA_IDX to ATA_SENSE 2015-03-27 11:59:22 -04:00
ide-park.c scsi: introduce a result field in struct scsi_request 2017-04-20 12:16:10 -06:00
ide-pci-generic.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
ide-pio-blacklist.c drivers: ide: Include appropriate header file in ide-pio-blacklist.c 2014-01-28 23:35:09 -08:00
ide-pm.c ide-pm: always pass 0 error to __blk_end_request_all 2017-04-26 07:53:34 -06:00
ide-pnp.c PNP: ide/ide-pnp: Use module_pnp_driver to register driver 2015-03-18 22:39:17 +01:00
ide-probe.c ide: use setup_timer 2017-05-08 17:36:39 -04:00
ide-proc.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
ide-scan-pci.c drivers/ide: make ide-scan-pci.c driver explicitly non-modular 2016-01-18 14:12:33 -05:00
ide-sysfs.c ide: convert bus code to use dev_groups 2013-10-16 18:40:57 -07:00
ide-tape.c scsi: introduce a result field in struct scsi_request 2017-04-20 12:16:10 -06:00
ide-taskfile.c scsi: introduce a result field in struct scsi_request 2017-04-20 12:16:10 -06:00
ide-timings.c ide: ide_timing_compute() fixup 2010-01-19 11:30:09 -08:00
ide-xfer-mode.c ide/ata: Add export.h for EXPORT_SYMBOL/THIS_MODULE where needed 2011-10-31 19:31:37 -04:00
ide.c ide: silence some underflow warnings 2016-01-18 14:12:33 -05:00
ide_platform.c ide: drop owner assignment from platform_drivers 2014-10-20 16:20:38 +02:00
it821x.c ide: constify ide_dma_ops structures 2016-01-18 14:12:33 -05:00
it8172.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
it8213.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
jmicron.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
macide.c ide/ata: Add module.h to the implicit modular users 2011-10-31 19:31:37 -04:00
ns87415.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
opti621.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
palm_bk3710.c ide: palm_bk3710: add __initdata to palm_bk3710_port_info 2017-02-27 20:43:26 -05:00
pdc202xx_new.c PCI: Remove includes of asm/pci-bridge.h 2016-02-05 16:29:28 -06:00
pdc202xx_old.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
piix.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
pmac.c ide: missing break statement in set_timings_mdma() 2016-07-26 15:25:31 -07:00
q40ide.c ide/ata: Add module.h to the implicit modular users 2011-10-31 19:31:37 -04:00
qd65xx.c sections: fix section conflicts in drivers/ide 2012-10-06 03:04:41 +09:00
qd65xx.h
rapide.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
rz1000.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
sc1200.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
serverworks.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
setup-pci.c ide: remove deprecated use of pci api 2015-04-17 15:32:07 -04:00
sgiioc4.c ide: remove deprecated use of pci api 2015-04-17 15:32:07 -04:00
siimage.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
sis5513.c block: split scsi_request out of struct request 2017-01-27 15:08:35 -07:00
sl82c105.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
slc90e66.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
tc86c001.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
triflex.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00
trm290.c ide: constify ide_dma_ops structures 2016-01-18 14:12:33 -05:00
tx4938ide.c ide: drop owner assignment from platform_drivers 2014-10-20 16:20:38 +02:00
tx4939ide.c ide: drop owner assignment from platform_drivers 2014-10-20 16:20:38 +02:00
umc8672.c sections: fix section conflicts in drivers/ide 2012-10-06 03:04:41 +09:00
via82cxxx.c Drivers: ide: remove __dev* attributes. 2013-01-03 15:57:03 -08:00