[patch 159/198] IB: Fix FMR pool crash

From: akpm
Date: Tue Apr 12 2005 - 10:47:57 EST



From: Roland Dreier <roland@xxxxxxxxxxx>

Mask bits correctly from jhash result in ib_fmr_hash() so that the
computed bucket index is within our hash table. This fixes an SDP
crash.

Signed-off-by: Roland Dreier <roland@xxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

25-akpm/drivers/infiniband/core/fmr_pool.c | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)

diff -puN drivers/infiniband/core/fmr_pool.c~ib-fix-fmr-pool-crash drivers/infiniband/core/fmr_pool.c
--- 25/drivers/infiniband/core/fmr_pool.c~ib-fix-fmr-pool-crash 2005-04-12 03:21:41.546820824 -0700
+++ 25-akpm/drivers/infiniband/core/fmr_pool.c 2005-04-12 03:21:41.549820368 -0700
@@ -103,9 +103,8 @@ struct ib_fmr_pool {

static inline u32 ib_fmr_hash(u64 first_page)
{
- return jhash_2words((u32) first_page,
- (u32) (first_page >> 32),
- 0);
+ return jhash_2words((u32) first_page, (u32) (first_page >> 32), 0) &
+ (IB_FMR_HASH_SIZE - 1);
}

/* Caller must hold pool_lock */
_
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/