eCryptfs: fix 32 bit corruption issue
Shifting page->index on 32 bit systems was overflowing, causing data corruption of > 4GB files. Fix this by casting it first. https://launchpad.net/bugs/1243636 Signed-off-by: Colin Ian King <colin.king@canonical.com> Reported-by: Lars Duesing <lars.duesing@camelotsweb.de> Cc: stable@vger.kernel.org # v3.11+ Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
This commit is contained in:
parent
3edc8376c0
commit
43b7c6c6a4
@ -408,7 +408,7 @@ static loff_t lower_offset_for_page(struct ecryptfs_crypt_stat *crypt_stat,
|
|||||||
struct page *page)
|
struct page *page)
|
||||||
{
|
{
|
||||||
return ecryptfs_lower_header_size(crypt_stat) +
|
return ecryptfs_lower_header_size(crypt_stat) +
|
||||||
(page->index << PAGE_CACHE_SHIFT);
|
((loff_t)page->index << PAGE_CACHE_SHIFT);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user