Module Name: src
Committed By: tnn
Date: Fri Jan 4 20:22:32 UTC 2019
Modified Files:
src/sys/external/bsd/drm2/include/linux: interval_tree.h
Log Message:
interval_tree_iter_next: check the node we return, not the prev one.
Also assert that the interval is intersecting the requested boundary.
To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 \
src/sys/external/bsd/drm2/include/linux/interval_tree.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/external/bsd/drm2/include/linux/interval_tree.h
diff -u src/sys/external/bsd/drm2/include/linux/interval_tree.h:1.7 src/sys/external/bsd/drm2/include/linux/interval_tree.h:1.8
--- src/sys/external/bsd/drm2/include/linux/interval_tree.h:1.7 Tue Aug 28 03:34:53 2018
+++ src/sys/external/bsd/drm2/include/linux/interval_tree.h Fri Jan 4 20:22:32 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: interval_tree.h,v 1.7 2018/08/28 03:34:53 riastradh Exp $ */
+/* $NetBSD: interval_tree.h,v 1.8 2019/01/04 20:22:32 tnn Exp $ */
/*-
* Copyright (c) 2018 The NetBSD Foundation, Inc.
@@ -119,9 +119,9 @@ interval_tree_iter_first(struct rb_root
node = rb_tree_find_node_geq(&root->rbr_tree, &start);
if (node == NULL)
return NULL;
- KASSERT(node->start <= start);
if (last < node->start)
return NULL;
+ KASSERT(node->start <= last && node->last >= start);
return node;
}
@@ -141,9 +141,9 @@ interval_tree_iter_next(struct rb_root *
next = rb_tree_iterate(&root->rbr_tree, node, RB_DIR_RIGHT);
if (next == NULL)
return NULL;
- KASSERT(node->start <= start);
- if (last < node->start)
+ if (last < next->start)
return NULL;
+ KASSERT(next->start <= last && next->last >= start);
return next;
}