Messages in this thread Patch in this message | | | From | Li RongQing <> | Subject | [PATCH] rbtree: stop iteration early in rb_find_first | Date | Wed, 25 Aug 2021 17:59:48 +0800 |
| |
stop iteration if match is not NULL and result of cmp is not zero, this means the matched node has been found, and the node with same key has been passed
Signed-off-by: Li RongQing <lirongqing@baidu.com> --- include/linux/rbtree.h | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/include/linux/rbtree.h b/include/linux/rbtree.h index d31ecaf4fdd3..2689771df9bb 100644 --- a/include/linux/rbtree.h +++ b/include/linux/rbtree.h @@ -324,6 +324,9 @@ rb_find_first(const void *key, const struct rb_root *tree, } else if (c > 0) { node = node->rb_right; } + + if (match && c) + break; } return match; -- 2.33.0.69.gc420321.dirty
| |