From: Alex Elder Date: Tue, 2 Oct 2012 15:25:51 +0000 (-0500) Subject: ceph: avoid 32-bit page index overflow X-Git-Tag: v3.7-rc1~90^2 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6285bc231277419255f3498d3eb5ddc9f8e7fe79;p=pandora-kernel.git ceph: avoid 32-bit page index overflow A pgoff_t is defined (by default) to have type (unsigned long). On architectures such as i686 that's a 32-bit type. The ceph address space code was attempting to produce 64 bit offsets by shifting a page's index by PAGE_CACHE_SHIFT, but the result was not what was desired because the shift occurred before the result got promoted to 64 bits. Fix this by converting all uses of page->index used in this way to use the page_offset() macro, which ensures the 64-bit result has the intended value. This fixes http://tracker.newdream.net/issues/3112 Reported-by: Mohamed Pakkeer Signed-off-by: Alex Elder Reviewed-by: Sage Weil --- Reading git-diff-tree failed