struct rb_node *node = root->rb_node;
 
        while (node) {
-               sdma_rb_node = container_of(node,
-                       struct qib_user_sdma_rb_node, node);
+               sdma_rb_node = rb_entry(node, struct qib_user_sdma_rb_node,
+                                       node);
                if (pid < sdma_rb_node->pid)
                        node = node->rb_left;
                else if (pid > sdma_rb_node->pid)
        struct qib_user_sdma_rb_node *got;
 
        while (*node) {
-               got = container_of(*node, struct qib_user_sdma_rb_node, node);
+               got = rb_entry(*node, struct qib_user_sdma_rb_node, node);
                parent = *node;
                if (new->pid < got->pid)
                        node = &((*node)->rb_left);