radix-tree: fix radix_tree_prev_hole() underflow case
radix_tree_prev_hole() used LONG_MAX to detect underflow; however, ULONG_MAX is clearly what was intended, both here and by its only user (count_history_pages at mm/readahead.c). Reviewed-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Cesar Eduardo Barros <cesarb@cesarb.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
9d85cba718
commit
edcd1d843a
@ -656,7 +656,7 @@ EXPORT_SYMBOL(radix_tree_next_hole);
|
|||||||
*
|
*
|
||||||
* Returns: the index of the hole if found, otherwise returns an index
|
* Returns: the index of the hole if found, otherwise returns an index
|
||||||
* outside of the set specified (in which case 'index - return >= max_scan'
|
* outside of the set specified (in which case 'index - return >= max_scan'
|
||||||
* will be true). In rare cases of wrap-around, LONG_MAX will be returned.
|
* will be true). In rare cases of wrap-around, ULONG_MAX will be returned.
|
||||||
*
|
*
|
||||||
* radix_tree_next_hole may be called under rcu_read_lock. However, like
|
* radix_tree_next_hole may be called under rcu_read_lock. However, like
|
||||||
* radix_tree_gang_lookup, this will not atomically search a snapshot of
|
* radix_tree_gang_lookup, this will not atomically search a snapshot of
|
||||||
@ -674,7 +674,7 @@ unsigned long radix_tree_prev_hole(struct radix_tree_root *root,
|
|||||||
if (!radix_tree_lookup(root, index))
|
if (!radix_tree_lookup(root, index))
|
||||||
break;
|
break;
|
||||||
index--;
|
index--;
|
||||||
if (index == LONG_MAX)
|
if (index == ULONG_MAX)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user