1. 10 Apr, 2006 4 commits
    • Herbert Xu's avatar
      [INET]: Move no-tunnel ICMP error to tunnel4/tunnel6 · 50fba2aa
      Herbert Xu authored
      This patch moves the sending of ICMP messages when there are no IPv4/IPv6
      tunnels present to tunnel4/tunnel6 respectively.  Please note that for now
      if xfrm4_tunnel/xfrm6_tunnel is loaded then no ICMP messages will ever be
      sent.  This is similar to how we handle AH/ESP/IPCOMP.
      
      This move fixes the bug where we always send an ICMP message when there is
      no ip6_tunnel device present for a given packet even if it is later handled
      by IPsec.  It also causes ICMP messages to be sent when no IPIP tunnel is
      present.
      
      I've decided to use the "port unreachable" ICMP message over the current
      value of "address unreachable" (and "protocol unreachable" by GRE) because
      it is not ambiguous unlike the other ones which can be triggered by other
      conditions.  There seems to be no standard specifying what value must be
      used so this change should be OK.  In fact we should change GRE to use
      this value as well.
      
      Incidentally, this patch also fixes a fairly serious bug in xfrm6_tunnel
      where we don't check whether the embedded IPv6 header is present before
      dereferencing it for the inside source address.
      
      This patch is inspired by a previous patch by Hugo Santos <hsantos@av.it.pt>.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      50fba2aa
    • Patrick McHardy's avatar
      [NETFILTER]: Fix fragmentation issues with bridge netfilter · 2e2f7aef
      Patrick McHardy authored
      The conntrack code doesn't do re-fragmentation of defragmented packets
      anymore but relies on fragmentation in the IP layer. Purely bridged
      packets don't pass through the IP layer, so the bridge netfilter code
      needs to take care of fragmentation itself.
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2e2f7aef
    • Robert Olsson's avatar
      [FIB_TRIE]: Fix leaf freeing. · 550e29bc
      Robert Olsson authored
      Seems like leaf (end-nodes) has been freed by __tnode_free_rcu and not
      by __leaf_free_rcu. This fixes the problem. Only tnode_free is now
      used which checks for appropriate node type. free_leaf can be removed.
      Signed-off-by: default avatarRobert Olsson <robert.olsson@its.uu.se>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      550e29bc
    • Herbert Xu's avatar
      [IPSEC]: Check x->encap before dereferencing it · 8bf4b8a1
      Herbert Xu authored
      We need to dereference x->encap before dereferencing it for encap_type.
      If it's absent then the encap_type is zero.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8bf4b8a1
  2. 09 Apr, 2006 31 commits
  3. 03 Apr, 2006 1 commit
  4. 02 Apr, 2006 4 commits
    • Linus Torvalds's avatar
      Update dummy snd_power_wait() function for new calling convention · 6fdb94bd
      Linus Torvalds authored
      Apparently nobody had tried to compile the ALSA CVS tree without power
      management enabled.
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      6fdb94bd
    • Linus Torvalds's avatar
      Merge branch 'splice' of git://brick.kernel.dk/data/git/linux-2.6-block · d6963615
      Linus Torvalds authored
      * 'splice' of git://brick.kernel.dk/data/git/linux-2.6-block:
        [PATCH] splice: fix page stealing LRU handling.
        [PATCH] splice: page stealing needs to wait_on_page_writeback()
        [PATCH] splice: export generic_splice_sendpage
        [PATCH] splice: add a SPLICE_F_MORE flag
        [PATCH] splice: add comments documenting more of the code
        [PATCH] splice: improve writeback and clean up page stealing
        [PATCH] splice: fix shadow[] filling logic
      d6963615
    • Jens Axboe's avatar
      [PATCH] splice: fix page stealing LRU handling. · 3e7ee3e7
      Jens Axboe authored
      Originally from Nick Piggin, just adapted to the newer branch.
      
      You can't check PageLRU without holding zone->lru_lock.  The page
      release code can get away with it only because the page refcount is 0 at
      that point. Also, you can't reliably remove pages from the LRU unless
      the refcount is 0. Ever.
      Signed-off-by: default avatarNick Piggin <nickpiggin@yahoo.com.au>
      Signed-off-by: default avatarJens Axboe <axboe@suse.de>
      3e7ee3e7
    • Jens Axboe's avatar
      [PATCH] splice: page stealing needs to wait_on_page_writeback() · ad8d6f0a
      Jens Axboe authored
      Thanks to Andrew for the good explanation of why this is so. akpm writes:
      
      If a page is under writeback and we remove it from pagecache, it's still
      going to get written to disk.  But the VFS no longer knows about that page,
      nor that this page is about to modify disk blocks.
      
      So there might be scenarios in which those
      blocks-which-are-about-to-be-written-to get reused for something else.
      When writeback completes, it'll scribble on those blocks.
      
      This won't happen in ext2/ext3-style filesystems in normal mode because the
      page has buffers and try_to_release_page() will fail.
      
      But ext2 in nobh mode doesn't attach buffers at all - it just sticks the
      page in a BIO, finds some new blocks, points the BIO at those blocks and
      lets it rip.
      
      While that write IO's in flight, someone could truncate the file.  Truncate
      won't block on the writeout because the page isn't in pagecache any more.
      So truncate will the free the blocks from the file under the page's feet.
      Then something else can reallocate those blocks.  Then write data to them.
      
      Now, the original write completes, corrupting the filesystem.
      Signed-off-by: default avatarJens Axboe <axboe@suse.de>
      ad8d6f0a