netfilter: ipset: forbid family for hash:mac sets
authorFlorent Fourcot <florent.fourcot@wifirst.fr>
Mon, 4 Jun 2018 14:51:19 +0000 (16:51 +0200)
committerJozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Wed, 6 Jun 2018 12:01:00 +0000 (14:01 +0200)
commitcbdebe481a14b42c45aa9f4ceb5ff19b55de2c57
treea62a6f19548cbd09b22c5800bf663aafe0945a7f
parent30a2e107108c66cbcb7776b58cbcd7db223a1cc9
netfilter: ipset: forbid family for hash:mac sets

Userspace `ipset` command forbids family option for hash:mac type:

ipset create test hash:mac family inet4
ipset v6.30: Unknown argument: `family'

However, this check is not done in kernel itself. When someone use
external netlink applications (pyroute2 python library for example), one
can create hash:mac with invalid family and inconsistant results from
userspace (`ipset` command cannot read set content anymore).

This patch enforce the logic in kernel, and forbids insertion of
hash:mac with a family set.

Since IP_SET_PROTO_UNDEF is defined only for hash:mac, this patch has no
impact on other hash:* sets

Signed-off-by: Florent Fourcot <florent.fourcot@wifirst.fr>
Signed-off-by: Victorien Molle <victorien.molle@wifirst.fr>
Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
net/netfilter/ipset/ip_set_hash_gen.h