diff options
author | Anton Altaparmakov <aia21@cantab.net> | 2005-06-25 11:51:58 -0400 |
---|---|---|
committer | Anton Altaparmakov <aia21@cantab.net> | 2005-06-25 11:51:58 -0400 |
commit | 3bd1f4a173a3445f9919c21e775de2d8b9deacf8 (patch) | |
tree | 6b32056b5b63d41fc5d032318ed0f94dbc562288 /fs/ntfs/dir.c | |
parent | ca8fd7a0c6aa835e8014830b290cb965e85ac88e (diff) |
NTFS: Fix several occurences of a bug where we would perform 'var & ~const'
with a 64-bit variable and a int, i.e. 32-bit, constant. This causes
the higher order 32-bits of the 64-bit variable to be zeroed. To fix
this cast the 'const' to the same 64-bit type as 'var'.
Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
Diffstat (limited to 'fs/ntfs/dir.c')
-rw-r--r-- | fs/ntfs/dir.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/ntfs/dir.c b/fs/ntfs/dir.c index a56ca1821eed..46779471c542 100644 --- a/fs/ntfs/dir.c +++ b/fs/ntfs/dir.c | |||
@@ -1308,7 +1308,8 @@ find_next_index_buffer: | |||
1308 | ntfs_debug("Handling index buffer 0x%llx.", | 1308 | ntfs_debug("Handling index buffer 0x%llx.", |
1309 | (unsigned long long)bmp_pos + cur_bmp_pos); | 1309 | (unsigned long long)bmp_pos + cur_bmp_pos); |
1310 | /* If the current index buffer is in the same page we reuse the page. */ | 1310 | /* If the current index buffer is in the same page we reuse the page. */ |
1311 | if ((prev_ia_pos & PAGE_CACHE_MASK) != (ia_pos & PAGE_CACHE_MASK)) { | 1311 | if ((prev_ia_pos & (s64)PAGE_CACHE_MASK) != |
1312 | (ia_pos & (s64)PAGE_CACHE_MASK)) { | ||
1312 | prev_ia_pos = ia_pos; | 1313 | prev_ia_pos = ia_pos; |
1313 | if (likely(ia_page != NULL)) { | 1314 | if (likely(ia_page != NULL)) { |
1314 | unlock_page(ia_page); | 1315 | unlock_page(ia_page); |