Messages in this thread Patch in this message | | | From | Rasmus Villemoes <> | Subject | [PATCH 16/18] lib: bitmap: Add missing mask in bitmap_shift_right | Date | Fri, 4 Jul 2014 00:43:02 +0200 |
| |
There is no guarantee that *src does not contain garbage bits outside the lower nbits, so we need to mask it before the shift-and-assign.
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> --- include/linux/bitmap.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/bitmap.h b/include/linux/bitmap.h index 2100378..75df61d 100644 --- a/include/linux/bitmap.h +++ b/include/linux/bitmap.h @@ -284,7 +284,7 @@ static inline void bitmap_shift_right(unsigned long *dst, const unsigned long *src, int n, int nbits) { if (small_const_nbits(nbits)) - *dst = *src >> n; + *dst = (*src & BITMAP_LAST_WORD_MASK(nbits)) >> n; else __bitmap_shift_right(dst, src, n, nbits); } -- 1.9.2
| |