Skip to content
  • Will Deacon's avatar
    netfilter: Avoid assigning 'const' pointer to non-const pointer · 514cc55b
    Will Deacon authored
    
    
    nf_remove_net_hook() uses WRITE_ONCE() to assign a 'const' pointer to a
    'non-const' pointer. Cleanups to the implementation of WRITE_ONCE() mean
    that this will give rise to a compiler warning, just like a plain old
    assignment would do:
    
      | In file included from ./include/linux/export.h:43,
      |                  from ./include/linux/linkage.h:7,
      |                  from ./include/linux/kernel.h:8,
      |                  from net/netfilter/core.c:9:
      | net/netfilter/core.c: In function ‘nf_remove_net_hook’:
      | ./include/linux/compiler.h:216:30: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
      |   *(volatile typeof(x) *)&(x) = (val);  \
      |                               ^
      | net/netfilter/core.c:379:3: note: in expansion of macro ‘WRITE_ONCE’
      |    WRITE_ONCE(orig_ops[i], &dummy_ops);
      |    ^~~~~~~~~~
    
    Follow the pattern used elsewhere in this file and add a cast to 'void *'
    to squash the warning.
    
    Cc: Pablo Neira Ayuso <pablo@netfilter.org>
    Cc: Jozsef Kadlecsik <kadlec@netfilter.org>
    Cc: Florian Westphal <fw@strlen.de>
    Cc: "David S. Miller" <davem@davemloft.net>
    Reviewed-by: default avatarNick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: default avatarWill Deacon <will@kernel.org>
    514cc55b