1. 11 7月, 2007 7 次提交
  2. 08 6月, 2007 1 次提交
  3. 20 5月, 2007 1 次提交
    • P
      [NETFILTER]: nf_conntrack: fix use-after-free in helper destroy callback invocation · 5397e97d
      Patrick McHardy 提交于
      When the helper module is removed for a master connection that has a
      fulfilled expectation, but has already timed out and got removed from
      the hash tables, nf_conntrack_helper_unregister can't find the master
      connection to unset the helper, causing a use-after-free when the
      expected connection is destroyed and releases the last reference to
      the master.
      
      The helper destroy callback was introduced for the PPtP helper to clean
      up expectations and expected connections when the master connection
      times out, but doing this from destroy_conntrack only works for
      unfulfilled expectations since expected connections hold a reference
      to the master, preventing its destruction. Move the destroy callback to
      the timeout function, which fixes both problems.
      
      Reported/tested by Gabor Burjan <buga@buvoshetes.hu>.
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5397e97d
  4. 11 5月, 2007 2 次提交
  5. 26 4月, 2007 6 次提交
  6. 06 3月, 2007 2 次提交
    • P
      [NETFILTER]: nf_conntrack/nf_nat: fix incorrect config ifdefs · e281db5c
      Patrick McHardy 提交于
      The nf_conntrack_netlink config option is named CONFIG_NF_CT_NETLINK,
      but multiple files use CONFIG_IP_NF_CONNTRACK_NETLINK or
      CONFIG_NF_CONNTRACK_NETLINK for ifdefs.
      
      Fix this and reformat all CONFIG_NF_CT_NETLINK ifdefs to only use a line.
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e281db5c
    • P
      [NETFILTER]: conntrack: fix {nf,ip}_ct_iterate_cleanup endless loops · ec68e97d
      Patrick McHardy 提交于
      Fix {nf,ip}_ct_iterate_cleanup unconfirmed list handling:
      
      - unconfirmed entries can not be killed manually, they are removed on
        confirmation or final destruction of the conntrack entry, which means
        we might iterate forever without making forward progress.
      
        This can happen in combination with the conntrack event cache, which
        holds a reference to the conntrack entry, which is only released when
        the packet makes it all the way through the stack or a different
        packet is handled.
      
      - taking references to an unconfirmed entry and using it outside the
        locked section doesn't work, the list entries are not refcounted and
        another CPU might already be waiting to destroy the entry
      
      What the code really wants to do is make sure the references of the hash
      table to the selected conntrack entries are released, so they will be
      destroyed once all references from skbs and the event cache are dropped.
      
      Since unconfirmed entries haven't even entered the hash yet, simply mark
      them as dying and skip confirmation based on that.
      
      Reported and tested by Chuck Ebbert <cebbert@redhat.com>
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ec68e97d
  7. 13 2月, 2007 5 次提交
  8. 08 12月, 2006 1 次提交
  9. 07 12月, 2006 1 次提交
  10. 04 12月, 2006 1 次提交
  11. 03 12月, 2006 13 次提交