Module Name: src Committed By: riastradh Date: Sun Dec 19 12:00:08 UTC 2021
Modified Files: src/sys/external/bsd/drm2/include/linux: rbtree.h Log Message: linux: Fix rb tree iteration. To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 src/sys/external/bsd/drm2/include/linux/rbtree.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/rbtree.h diff -u src/sys/external/bsd/drm2/include/linux/rbtree.h:1.14 src/sys/external/bsd/drm2/include/linux/rbtree.h:1.15 --- src/sys/external/bsd/drm2/include/linux/rbtree.h:1.14 Sun Dec 19 11:45:41 2021 +++ src/sys/external/bsd/drm2/include/linux/rbtree.h Sun Dec 19 12:00:08 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: rbtree.h,v 1.14 2021/12/19 11:45:41 riastradh Exp $ */ +/* $NetBSD: rbtree.h,v 1.15 2021/12/19 12:00:08 riastradh Exp $ */ /*- * Copyright (c) 2013 The NetBSD Foundation, Inc. @@ -87,7 +87,10 @@ rb_next2(const struct rb_root *root, con char *vnode = (char *)__UNCONST(rbnode); vnode -= root->rbr_tree.rbt_ops->rbto_node_offset; - return RB_TREE_NEXT(__UNCONST(&root->rbr_tree), vnode); + vnode = RB_TREE_NEXT(__UNCONST(&root->rbr_tree), vnode); + if (vnode) + vnode += root->rbr_tree.rbt_ops->rbto_node_offset; + return (struct rb_node *)vnode; } static inline struct rb_node *