• Daniel Borkmann's avatar
    netfilter: x_tables: fix cgroup matching on non-full sks · afb77180
    Daniel Borkmann authored
    While originally only being intended for outgoing traffic, commit
    a00e7634 ("netfilter: x_tables: allow to use cgroup match for
    LOCAL_IN nf hooks") enabled xt_cgroups for the NF_INET_LOCAL_IN hook
    as well, in order to allow for nfacct accounting.
    
    Besides being currently limited to early demuxes only, commit
    a00e7634 forgot to add a check if we deal with full sockets,
    i.e. in this case not with time wait sockets. TCP time wait sockets
    do not have the same memory layout as full sockets, a lower memory
    footprint and consequently also don't have a sk_classid member;
    probing for sk_classid member there could potentially lead to a
    crash.
    
    Fixes: a00e7634 ("netfilter: x_tables: allow to use cgroup match for LOCAL_IN nf hooks")
    Cc: Alexey Perevalov <a.perevalov@samsung.com>
    Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
    Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
    afb77180
xt_cgroup.c 1.86 KB