]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
libata: Align ata_device's id on a cacheline
authorHarvey Hunt <harvey.hunt@imgtec.com>
Wed, 24 Feb 2016 15:16:43 +0000 (15:16 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 9 Mar 2016 23:33:26 +0000 (15:33 -0800)
commit15488ce1dad5af59b3d6ad916b68403fd625030e
tree53d44c62e29d678abb650a820289311694592f3a
parentc9a3157a2750f0ffba387ad6d20af200807c7a88
libata: Align ata_device's id on a cacheline

commit 4ee34ea3a12396f35b26d90a094c75db95080baa upstream.

The id 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 ATA device.

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

This issue is similar to that fixed by Commit 84bda12af31f
("libata: align ap->sector_buf").

Signed-off-by: Harvey Hunt <harvey.hunt@imgtec.com>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
include/linux/libata.h