1. 23 Dec, 2016 1 commit
    • Xin Long's avatar
      netfilter: ipt_CLUSTERIP: check duplicate config when initializing · 6c5d5cfb
      Xin Long authored
      Now when adding an ipt_CLUSTERIP rule, it only checks duplicate config in
      clusterip_config_find_get(). But after that, there may be still another
      thread to insert a config with the same ip, then it leaves proc_create_data
      to do duplicate check.
      
      It's more reasonable to check duplicate config by ipt_CLUSTERIP itself,
      instead of checking it by proc fs duplicate file check. Before, when proc
      fs allowed duplicate name files in a directory, It could even crash kernel
      because of use-after-free.
      
      This patch is to check duplicate config under the protection of clusterip
      net lock when initializing a new config and correct the return err.
      
      Note that it also moves proc file node creation after adding new config, as
      proc_create_data may sleep, it couldn't be called under the clusterip_net
      lock. clusterip_config_find_get returns NULL if c->pde is null to make sure
      it can't be used until the proc file node creation is done.
      Suggested-by: default avatarMarcelo Ricardo Leitner <marcelo.leitner@gmail.com>
      Signed-off-by: default avatarXin Long <lucien.xin@gmail.com>
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      6c5d5cfb
  2. 14 Dec, 2016 4 commits
  3. 13 Dec, 2016 1 commit
  4. 12 Dec, 2016 30 commits
  5. 11 Dec, 2016 4 commits