• Peter Tirsek's avatar
    netfilter: xt_socket: Fix broken IPv6 handling · 6bd3d192
    Peter Tirsek authored
    Commit 834184b1 ("netfilter: defrag: only register defrag
    functionality if needed") used the outdated XT_SOCKET_HAVE_IPV6 macro
    which was removed earlier in commit 8db4c5be ("netfilter: move
    socket lookup infrastructure to nf_socket_ipv{4,6}.c"). With that macro
    never being defined, the xt_socket match emits an "Unknown family 10"
    warning when used with IPv6:
    
    WARNING: CPU: 0 PID: 1377 at net/netfilter/xt_socket.c:160 socket_mt_enable_defrag+0x47/0x50 [xt_socket]
    Unknown family 10
    Modules linked in: xt_socket nf_socket_ipv4 nf_socket_ipv6 nf_defrag_ipv4 [...]
    CPU: 0 PID: 1377 Comm: ip6tables-resto Not tainted 4.10.10 #1
    Hardware name: [...]
    Call Trace:
    ? __warn+0xe7/0x100
    ? socket_mt_enable_defrag+0x47/0x50 [xt_socket]
    ? socket_mt_enable_defrag+0x47/0x50 [xt_socket]
    ? warn_slowpath_fmt+0x39/0x40
    ? socket_mt_enable_defrag+0x47/0x50 [xt_socket]
    ? socket_mt_v2_check+0x12/0x40 [xt_socket]
    ? xt_check_match+0x6b/0x1a0 [x_tables]
    ? xt_find_match+0x93/0xd0 [x_tables]
    ? xt_request_find_match+0x20/0x80 [x_tables]
    ? translate_table+0x48e/0x870 [ip6_tables]
    ? translate_table+0x577/0x870 [ip6_tables]
    ? walk_component+0x3a/0x200
    ? kmalloc_order+0x1d/0x50
    ? do_ip6t_set_ctl+0x181/0x490 [ip6_tables]
    ? filename_lookup+0xa5/0x120
    ? nf_setsockopt+0x3a/0x60
    ? ipv6_setsockopt+0xb0/0xc0
    ? sock_common_setsockopt+0x23/0x30
    ? SyS_socketcall+0x41d/0x630
    ? vfs_read+0xfa/0x120
    ? do_fast_syscall_32+0x7a/0x110
    ? entry_SYSENTER_32+0x47/0x71
    
    This patch brings the conditional back in line with how the rest of the
    file handles IPv6.
    
    Fixes: 834184b1 ("netfilter: defrag: only register defrag functionality if needed")
    Signed-off-by: default avatarPeter Tirsek <peter@tirsek.com>
    Acked-by: default avatarFlorian Westphal <fw@strlen.de>
    Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
    6bd3d192
xt_socket.c 7.93 KB