• Thomas Graf's avatar
    netfilter: Can't fail and free after table replacement · c58dd2dd
    Thomas Graf authored
    All xtables variants suffer from the defect that the copy_to_user()
    to copy the counters to user memory may fail after the table has
    already been exchanged and thus exposed. Return an error at this
    point will result in freeing the already exposed table. Any
    subsequent packet processing will result in a kernel panic.
    
    We can't copy the counters before exposing the new tables as we
    want provide the counter state after the old table has been
    unhooked. Therefore convert this into a silent error.
    
    Cc: Florian Westphal <fw@strlen.de>
    Signed-off-by: default avatarThomas Graf <tgraf@suug.ch>
    Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
    c58dd2dd
ip6_tables.c 55.8 KB