aboutsummaryrefslogtreecommitdiffstats
path: root/firmware/cis
diff options
context:
space:
mode:
authorMikulas Patocka <mpatocka@redhat.com>2011-08-02 12:32:01 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2011-08-04 21:58:42 -0700
commitee607aa21a02855bc4ae6c4c775fd3456f961404 (patch)
treee1713660b10ff8514d6d3726d280f72404e49fd3 /firmware/cis
parentf8c62dc268a9f499b86c051ddd3bacf10d70e347 (diff)
downloadkernel_samsung_tuna-ee607aa21a02855bc4ae6c4c775fd3456f961404.zip
kernel_samsung_tuna-ee607aa21a02855bc4ae6c4c775fd3456f961404.tar.gz
kernel_samsung_tuna-ee607aa21a02855bc4ae6c4c775fd3456f961404.tar.bz2
dm io: flush cpu cache with vmapped io
commit bb91bc7bacb906c9f3a9b22744c53fa7564b51ba upstream. For normal kernel pages, CPU cache is synchronized by the dma layer. However, this is not done for pages allocated with vmalloc. If we do I/O to/from vmallocated pages, we must synchronize CPU cache explicitly. Prior to doing I/O on vmallocated page we must call flush_kernel_vmap_range to flush dirty cache on the virtual address. After finished read we must call invalidate_kernel_vmap_range to invalidate cache on the virtual address, so that accesses to the virtual address return newly read data and not stale data from CPU cache. This patch fixes metadata corruption on dm-snapshots on PA-RISC and possibly other architectures with caches indexed by virtual address. Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'firmware/cis')
0 files changed, 0 insertions, 0 deletions