summaryrefslogtreecommitdiffstats
path: root/fs/ntfs/dir.c
diff options
context:
space:
mode:
authorAnton Altaparmakov <aia21@cantab.net>2005-06-25 16:51:58 +0100
committerAnton Altaparmakov <aia21@cantab.net>2005-06-25 16:51:58 +0100
commit3bd1f4a173a3445f9919c21e775de2d8b9deacf8 (patch)
tree6b32056b5b63d41fc5d032318ed0f94dbc562288 /fs/ntfs/dir.c
parentca8fd7a0c6aa835e8014830b290cb965e85ac88e (diff)
downloadlinux-3bd1f4a173a3445f9919c21e775de2d8b9deacf8.tar.bz2
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.c3
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:
ntfs_debug("Handling index buffer 0x%llx.",
(unsigned long long)bmp_pos + cur_bmp_pos);
/* If the current index buffer is in the same page we reuse the page. */
- if ((prev_ia_pos & PAGE_CACHE_MASK) != (ia_pos & PAGE_CACHE_MASK)) {
+ if ((prev_ia_pos & (s64)PAGE_CACHE_MASK) !=
+ (ia_pos & (s64)PAGE_CACHE_MASK)) {
prev_ia_pos = ia_pos;
if (likely(ia_page != NULL)) {
unlock_page(ia_page);