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
|
||||
* 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_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))
|
||||
break;
|
||||
index--;
|
||||
if (index == LONG_MAX)
|
||||
if (index == ULONG_MAX)
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue