netlabel: Fix a problem when dumping the default IPv6 static labels
authorPaul Moore <paul.moore@hp.com>
Sat, 28 Jun 2008 03:12:32 +0000 (20:12 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 28 Jun 2008 03:12:32 +0000 (20:12 -0700)
There is a missing "!" in a conditional statement which is causing entries to
be skipped when dumping the default IPv6 static label entries.  This can be
demonstrated by running the following:

 # netlabelctl unlbl add default address:::1 \
                                 label:system_u:object_r:unlabeled_t:s0
 # netlabelctl -p unlbl list

... you will notice that the entry for the IPv6 localhost address is not
displayed but does exist (works correctly, causes collisions when attempting
to add duplicate entries, etc.).

Signed-off-by: Paul Moore <paul.moore@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/netlabel/netlabel_unlabeled.c

index 0099da5b2591e5295429b7578688fa6949db3db1..52b2611a6eb6625f8d1d329bea03d03e7ad460ac 100644 (file)
@@ -1534,7 +1534,7 @@ static int netlbl_unlabel_staticlistdef(struct sk_buff *skb,
                }
        }
        list_for_each_entry_rcu(addr6, &iface->addr6_list, list) {
-               if (addr6->valid || iter_addr6++ < skip_addr6)
+               if (!addr6->valid || iter_addr6++ < skip_addr6)
                        continue;
                if (netlbl_unlabel_staticlist_gen(NLBL_UNLABEL_C_STATICLISTDEF,
                                           iface,