Messages in this thread Patch in this message | | | Subject | [RFC][Update][Patch 12/16]Fix undefined ">> 32" in revoke code | From | Mingming Cao <> | Date | Thu, 29 Jun 2006 17:18:44 -0700 |
| |
"val >> 32" is undefined if val is a 32-bit value, so this code is broken if CONFIG_LBD is not set. Make it safe for that case.
Signed-off-by: Stephen Tweedie <sct@redhat.com> Signed-off-by: Mingming Cao <cmm@us.ibm.com>
---
linux-2.6.17-ming/fs/jbd/revoke.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-)
diff -puN fs/jbd/revoke.c~jbd-revoke-32bit-shift-fix fs/jbd/revoke.c --- linux-2.6.17/fs/jbd/revoke.c~jbd-revoke-32bit-shift-fix 2006-06-28 16:47:09.695458913 -0700 +++ linux-2.6.17-ming/fs/jbd/revoke.c 2006-06-28 16:47:09.699458454 -0700 @@ -110,7 +110,7 @@ static inline int hash(journal_t *journa { struct jbd_revoke_table_s *table = journal->j_revoke; int hash_shift = table->hash_shift; - int hash = (int)block ^ (int)(block >> 32); + int hash = (int)block ^ (int)((block >> 31) >> 1); return ((hash << (hash_shift - 6)) ^ (hash >> 13) ^ _
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |