diff options
author | Anton Altaparmakov <aia21@cantab.net> | 2005-06-25 16:51:58 +0100 |
---|---|---|
committer | Anton Altaparmakov <aia21@cantab.net> | 2005-06-25 16:51:58 +0100 |
commit | 3bd1f4a173a3445f9919c21e775de2d8b9deacf8 (patch) | |
tree | 6b32056b5b63d41fc5d032318ed0f94dbc562288 /fs/ntfs/dir.c | |
parent | ca8fd7a0c6aa835e8014830b290cb965e85ac88e (diff) | |
download | linux-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.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: 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); |