[NETLABEL]: Fix lookup logic of netlbl_domhsh_search_def.
authorPavel Emelyanov <xemul@openvz.org>
Wed, 13 Feb 2008 06:15:14 +0000 (22:15 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 13 Feb 2008 06:15:14 +0000 (22:15 -0800)
Currently, if the call to netlbl_domhsh_search succeeds the
return result will still be NULL.

Fix that, by returning the found entry (if any).

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Acked-by: Paul Moore <paul.moore@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/netlabel/netlabel_domainhash.c

index 9a8ea0195c4fbc2f08bb8c55a5535ae43889c809..fd462313471cb294fb9d772f7d97d5567ce080f1 100644 (file)
@@ -150,11 +150,11 @@ static struct netlbl_dom_map *netlbl_domhsh_search_def(const char *domain)
        entry = netlbl_domhsh_search(domain);
        if (entry == NULL) {
                entry = rcu_dereference(netlbl_domhsh_def);
-               if (entry != NULL && entry->valid)
-                       return entry;
+               if (entry != NULL && !entry->valid)
+                       entry = NULL;
        }
 
-       return NULL;
+       return entry;
 }
 
 /*