diff options
| author | Vasily Averin <vvs@virtuozzo.com> | 2021-07-01 08:02:24 +0300 | 
|---|---|---|
| committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2021-07-02 03:07:01 +0300 | 
| commit | a23f89a9990684a0ca0cac4a2857c15d338ebe2d (patch) | |
| tree | 893c45624613b5c76690ef0c21bde479c29d6cd8 /tools/perf/scripts/python/sctop.py | |
| parent | 4ca041f919f13783b0b03894783deee00dbca19a (diff) | |
| download | linux-a23f89a9990684a0ca0cac4a2857c15d338ebe2d.tar.xz | |
netfilter: conntrack: nf_ct_gre_keymap_flush() removal
nf_ct_gre_keymap_flush() is useless.
It is called from nf_conntrack_cleanup_net_list() only and tries to remove
nf_ct_gre_keymap entries from pernet gre keymap list. Though:
a) at this point the list should already be empty, all its entries were
deleted during the conntracks cleanup, because
nf_conntrack_cleanup_net_list() executes nf_ct_iterate_cleanup(kill_all)
before nf_conntrack_proto_pernet_fini():
 nf_conntrack_cleanup_net_list
  +- nf_ct_iterate_cleanup
  |   nf_ct_put
  |    nf_conntrack_put
  |     nf_conntrack_destroy
  |      destroy_conntrack
  |       destroy_gre_conntrack
  |        nf_ct_gre_keymap_destroy
  `- nf_conntrack_proto_pernet_fini
      nf_ct_gre_keymap_flush
b) Let's say we find that the keymap list is not empty. This means netns
still has a conntrack associated with gre, in which case we should not free
its memory, because this will lead to a double free and related crashes.
However I doubt it could have gone unnoticed for years, obviously
this does not happen in real life. So I think we can remove
both nf_ct_gre_keymap_flush() and nf_conntrack_proto_pernet_fini().
Signed-off-by: Vasily Averin <vvs@virtuozzo.com>
Acked-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'tools/perf/scripts/python/sctop.py')
0 files changed, 0 insertions, 0 deletions
