Skip to content
  • Arnd Bergmann's avatar
    netfilter: nf_defrag: mark xt_table structures 'const' again · b069b37a
    Arnd Bergmann authored
    As a side-effect of adding the module option, we now get a section
    mismatch warning:
    
    WARNING: net/ipv4/netfilter/iptable_raw.o(.data+0x1c): Section mismatch in reference from the variable packet_raw to the function .init.text:iptable_raw_table_init()
    The variable packet_raw references
    the function __init iptable_raw_table_init()
    If the reference is valid then annotate the
    variable with __init* or __refdata (see linux/init.h) or name the variable:
    *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
    
    Apparently it's ok to link to a __net_init function from .rodata but not
    from .data. We can address this by rearranging the logic so that the
    structure is read-only again. Instead of writing to the .priority field
    later, we have an extra copies of the structure with that flag. An added
    advantage is that that we don't have writable function pointers with this
    approach.
    
    Fixes: 902d6a4c
    
     ("netfilter: nf_defrag: Skip defrag if NOTRACK is set")
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
    b069b37a