[lustre-devel] staging: add Lustre file system client support
Dan Carpenter
dan.carpenter at oracle.com
Wed Apr 27 05:28:47 PDT 2016
Hello Lustre devs,
The patch d7e09d0397e8: "staging: add Lustre file system client
support" from May 2, 2013, leads to the following Parfait warning.
Parfait is an Oracle static analysis tool. If there is a patch from
this could you give credit to Lidza Louina <lidza.louina at oracle.com>?
drivers/staging/lustre/lustre/ldlm/interval_tree.c
399 void interval_erase(struct interval_node *node,
400 struct interval_node **root)
401 {
402 struct interval_node *child, *parent;
403 int color;
404
405 LASSERT(interval_is_intree(node));
406 node->in_intree = 0;
407 if (!node->in_left) {
408 child = node->in_right;
409 } else if (!node->in_right) {
410 child = node->in_left;
411 } else { /* Both left and right child are not NULL */
412 struct interval_node *old = node;
413
414 node = interval_next(node);
^^^^^^^^^^^^^^^^^^^^^^^^^^
It looks like interval_next() can return NULL.
415 child = node->in_right;
416 parent = node->in_parent;
417 color = node->in_color;
418
Here is the interval_next() function:
drivers/staging/lustre/lustre/ldlm/interval_tree.c
111 static struct interval_node *interval_next(struct interval_node *node)
112 {
113 if (!node)
114 return NULL;
115 if (node->in_right)
116 return interval_first(node->in_right);
117 while (node->in_parent && node_is_right_child(node))
^^^^^^^^^^^^^^^
We assume that ->in_parent can be NULL here. Is that actually possible?
118 node = node->in_parent;
119 return node->in_parent;
120 }
regards,
dan carpenter
More information about the lustre-devel
mailing list