diff --git a/include/linux/bitmap.h b/include/linux/bitmap.h index 2100378333569ad8e33de0f9f16c82f605d1010f..75df61d9ecfb786665a20cf44ae00e1e2a44d50a 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); }