android_kernel_oneplus_msm8998/include/scsi
Huacai Chen 7e0091c295 scsi: libsas: align sata_device's rps_resp on a cacheline
commit c2e8fbf908afd81ad502b567a6639598f92c9b9d upstream.

The rps_resp buffer in ata_device is a DMA target, but it isn't
explicitly cacheline aligned. Due to this, adjacent fields can be
overwritten with stale data from memory on non-coherent architectures.
As a result, the kernel is sometimes unable to communicate with an SATA
device behind a SAS expander.

Fix this by ensuring that the rps_resp buffer is cacheline aligned.

This issue is similar to that fixed by Commit 84bda12af3 ("libata:
align ap->sector_buf") and Commit 4ee34ea3a12396f35b26 ("libata: Align
ata_device's id on a cacheline").

Signed-off-by: Huacai Chen <chenhc@lemote.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-12-16 10:33:48 +01:00
..
fc
fc_encode.h
fc_frame.h
fcoe_sysfs.h
iscsi_if.h
iscsi_proto.h
libfc.h scsi: drop reason argument from ->change_queue_depth 2014-11-24 14:45:27 +01:00
libfcoe.h
libiscsi.h scsi: libiscsi: add lock around task lists to fix list corruption regression 2017-03-26 12:13:19 +02:00
libiscsi_tcp.h
libsas.h scsi: libsas: align sata_device's rps_resp on a cacheline 2017-12-16 10:33:48 +01:00
osd_attributes.h
osd_initiator.h
osd_ore.h
osd_protocol.h
osd_sec.h
osd_sense.h
osd_types.h
sas.h
sas_ata.h
scsi.h Move code that is used both by initiator and target drivers 2015-06-01 07:32:43 -07:00
scsi_bsg_iscsi.h
scsi_cmnd.h scsi: stop passing a gfp_mask argument down the command setup path 2014-11-24 19:56:55 +01:00
scsi_common.h scsi: Protect against buffer possible overflow in scsi_set_sense_information 2015-07-23 22:53:05 -07:00
scsi_dbg.h scsi: Conditionally compile in constants.c 2015-01-09 15:44:31 +01:00
scsi_device.h scsi: use 'scsi_device_from_queue()' for scsi_dh 2017-03-12 06:37:26 +01:00
scsi_devinfo.h SCSI: add 1024 max sectors black list flag 2015-04-27 09:38:06 -07:00
scsi_dh.h scsi_dh: kill struct scsi_dh_data 2015-08-28 13:14:57 -07:00
scsi_driver.h scsi: remove scsi_driver owner field 2014-11-24 20:01:28 +01:00
scsi_eh.h Revert "libata-eh: Set 'information' field for autosense" 2015-08-03 11:41:33 -04:00
scsi_host.h Merge branch 'mkp-fixes' into fixes 2015-12-03 09:32:33 -08:00
scsi_ioctl.h
scsi_proto.h Split SCSI header files 2015-06-01 07:32:42 -07:00
scsi_tcq.h scsi: use host wide tags by default 2015-11-09 17:11:57 -08:00
scsi_transport.h
scsi_transport_fc.h scsi_transport_fc: Add support for 25Gbit speed 2015-04-10 07:40:32 -07:00
scsi_transport_iscsi.h iSCSI: let session recovery_tmo sysfs writes persist across recovery 2015-07-30 12:43:00 -07:00
scsi_transport_sas.h
scsi_transport_spi.h scsi: remove abuses of scsi_populate_tag 2014-11-12 11:19:41 +01:00
scsi_transport_srp.h IB/srp: Avoid using uninitialized variable 2015-07-14 13:20:09 -04:00
scsicam.h
sg.h
srp.h IB/srp: Add 64-bit LUN support 2015-05-18 13:35:56 -04:00