From: Roland Dreier Date: Sat, 16 Apr 2005 22:26:10 +0000 (-0700) Subject: [PATCH] IB: Fix FMR pool crash X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=de0d9641c4f164009b62ecc342f9776d44e78b6a;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git [PATCH] IB: Fix FMR pool crash 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 Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/drivers/infiniband/core/fmr_pool.c b/drivers/infiniband/core/fmr_pool.c index 2e9469f18926..59ee001ff05b 100644 --- a/drivers/infiniband/core/fmr_pool.c +++ b/drivers/infiniband/core/fmr_pool.c @@ -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 */