]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - fs/ntfs/mft.c
NTFS: Fix a 64-bitness bug where a left-shift could overflow a 32-bit variable
[karo-tx-linux.git] / fs / ntfs / mft.c
index 247586d1d5dc52787c36233c60f10f32105f0bc3..b011369b59561139687e627f211207dc4edff72e 100644 (file)
@@ -58,7 +58,8 @@ static inline MFT_RECORD *map_mft_record_page(ntfs_inode *ni)
         * overflowing the unsigned long, but I don't think we would ever get
         * here if the volume was that big...
         */
-       index = ni->mft_no << vol->mft_record_size_bits >> PAGE_CACHE_SHIFT;
+       index = (u64)ni->mft_no << vol->mft_record_size_bits >>
+                       PAGE_CACHE_SHIFT;
        ofs = (ni->mft_no << vol->mft_record_size_bits) & ~PAGE_CACHE_MASK;
 
        i_size = i_size_read(mft_vi);