• H
    libata: Align ata_device's id on a cacheline · 4ee34ea3
    Harvey Hunt 提交于
    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 84bda12a
    ("libata: align ap->sector_buf").
    Signed-off-by: NHarvey Hunt <harvey.hunt@imgtec.com>
    Cc: linux-kernel@vger.kernel.org
    Cc: <stable@vger.kernel.org> # 2.6.18
    Signed-off-by: NTejun Heo <tj@kernel.org>
    4ee34ea3
libata.h 63.7 KB