summaryrefslogtreecommitdiffstats
path: root/drivers/ata/libahci_platform.c
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk@kernel.org>2019-01-09 19:17:14 -0800
committerJens Axboe <axboe@kernel.dk>2019-01-09 20:51:44 -0700
commit5db470e229e22b7eda6e23b5566e532c96fb5bc3 (patch)
tree31e105772718f33a0e7baf9f0e06ac4e5def9b2c /drivers/ata/libahci_platform.c
parent649d4968860ba708636ad643bd52b28027367042 (diff)
downloadlinux-5db470e229e22b7eda6e23b5566e532c96fb5bc3.tar.bz2
loop: drop caches if offset or block_size are changed
If we don't drop caches used in old offset or block_size, we can get old data from new offset/block_size, which gives unexpected data to user. For example, Martijn found a loopback bug in the below scenario. 1) LOOP_SET_FD loads first two pages on loop file 2) LOOP_SET_STATUS64 changes the offset on the loop file 3) mount is failed due to the cached pages having wrong superblock Cc: Jens Axboe <axboe@kernel.dk> Cc: linux-block@vger.kernel.org Reported-by: Martijn Coenen <maco@google.com> Reviewed-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/ata/libahci_platform.c')
0 files changed, 0 insertions, 0 deletions