diff --git a/include/common/eb32tree.h b/include/common/eb32tree.h
index b5c88ee..f794131 100644
--- a/include/common/eb32tree.h
+++ b/include/common/eb32tree.h
@@ -100,6 +100,7 @@
  */
 REGPRM2 struct eb32_node *eb32_lookup(struct eb_root *root, u32 x);
 REGPRM2 struct eb32_node *eb32i_lookup(struct eb_root *root, s32 x);
+REGPRM2 struct eb32_node *eb32_lookup_ge(struct eb_root *root, u32 x);
 REGPRM2 struct eb32_node *eb32_insert(struct eb_root *root, struct eb32_node *new);
 REGPRM2 struct eb32_node *eb32i_insert(struct eb_root *root, struct eb32_node *new);
 
@@ -122,6 +123,7 @@
 {
 	struct eb32_node *node;
 	eb_troot_t *troot;
+	u32 y;
 
 	troot = root->b[EB_LEFT];
 	if (unlikely(troot == NULL))
@@ -139,7 +141,8 @@
 		node = container_of(eb_untag(troot, EB_NODE),
 				    struct eb32_node, node.branches);
 
-		if (x == node->key) {
+		y = node->key ^ x;
+		if (!y) {
 			/* Either we found the node which holds the key, or
 			 * we have a dup tree. In the later case, we have to
 			 * walk it down left to get the first entry.
@@ -154,6 +157,9 @@
 			return node;
 		}
 
+		if ((y >> node->node.bit) >= EB_NODE_BRANCHES)
+			return NULL; /* no more common bits */
+
 		troot = node->node.branches.b[(x >> node->node.bit) & EB_NODE_BRANCH_MASK];
 	}
 }
@@ -167,6 +173,7 @@
 	struct eb32_node *node;
 	eb_troot_t *troot;
 	u32 key = x ^ 0x80000000;
+	u32 y;
 
 	troot = root->b[EB_LEFT];
 	if (unlikely(troot == NULL))
@@ -184,7 +191,8 @@
 		node = container_of(eb_untag(troot, EB_NODE),
 				    struct eb32_node, node.branches);
 
-		if (x == node->key) {
+		y = node->key ^ x;
+		if (!y) {
 			/* Either we found the node which holds the key, or
 			 * we have a dup tree. In the later case, we have to
 			 * walk it down left to get the first entry.
@@ -199,6 +207,9 @@
 			return node;
 		}
 
+		if ((y >> node->node.bit) >= EB_NODE_BRANCHES)
+			return NULL; /* no more common bits */
+
 		troot = node->node.branches.b[(key >> node->node.bit) & EB_NODE_BRANCH_MASK];
 	}
 }
