diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/netfilter/ipset/ip_set.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/include/linux/netfilter/ipset/ip_set.h b/include/linux/netfilter/ipset/ip_set.h index d80e2753847c..9ac9fbde7b61 100644 --- a/include/linux/netfilter/ipset/ip_set.h +++ b/include/linux/netfilter/ipset/ip_set.h | |||
| @@ -296,10 +296,12 @@ ip_set_eexist(int ret, u32 flags) | |||
| 296 | 296 | ||
| 297 | /* Match elements marked with nomatch */ | 297 | /* Match elements marked with nomatch */ |
| 298 | static inline bool | 298 | static inline bool |
| 299 | ip_set_enomatch(int ret, u32 flags, enum ipset_adt adt) | 299 | ip_set_enomatch(int ret, u32 flags, enum ipset_adt adt, struct ip_set *set) |
| 300 | { | 300 | { |
| 301 | return adt == IPSET_TEST && | 301 | return adt == IPSET_TEST && |
| 302 | ret == -ENOTEMPTY && ((flags >> 16) & IPSET_FLAG_NOMATCH); | 302 | (set->type->features & IPSET_TYPE_NOMATCH) && |
| 303 | ((flags >> 16) & IPSET_FLAG_NOMATCH) && | ||
| 304 | (ret > 0 || ret == -ENOTEMPTY); | ||
| 303 | } | 305 | } |
| 304 | 306 | ||
| 305 | /* Check the NLA_F_NET_BYTEORDER flag */ | 307 | /* Check the NLA_F_NET_BYTEORDER flag */ |
