summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHuang Shijie <sjhuang@iluvatar.ai>2021-02-25 17:21:17 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2021-02-26 09:41:04 -0800
commit0e24465d3313832e82f8bd9ee2439da1367dd2e5 (patch)
treed720dc613eb5afe1911d9fb446d19d8e096868c7
parent7b4693e644cbdafdb2a2393fee8f81d85edd1b7d (diff)
lib/genalloc.c: change return type to unsigned long for bitmap_set_ll
Just as bitmap_clear_ll(), change return type to unsigned long for bitmap_set_ll to avoid the possible overflow in future. Link: https://lkml.kernel.org/r/20210105031644.2771-1-sjhuang@iluvatar.ai Signed-off-by: Huang Shijie <sjhuang@iluvatar.ai> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--lib/genalloc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/genalloc.c b/lib/genalloc.c
index dab97bb69df6..5dcf9cdcbc46 100644
--- a/lib/genalloc.c
+++ b/lib/genalloc.c
@@ -81,7 +81,8 @@ static int clear_bits_ll(unsigned long *addr, unsigned long mask_to_clear)
* users set the same bit, one user will return remain bits, otherwise
* return 0.
*/
-static int bitmap_set_ll(unsigned long *map, unsigned long start, unsigned long nr)
+static unsigned long
+bitmap_set_ll(unsigned long *map, unsigned long start, unsigned long nr)
{
unsigned long *p = map + BIT_WORD(start);
const unsigned long size = start + nr;