1. 23 Aug, 2005 9 commits
    • David S. Miller's avatar
      [TCP]: Unconditionally clear TCP_NAGLE_PUSH in skb_entail(). · 89ebd197
      David S. Miller authored
      Intention of this bit is to force pushing of the existing
      send queue when TCP_CORK or TCP_NODELAY state changes via
      setsockopt().
      
      But it's easy to create a situation where the bit never
      clears.  For example, if the send queue starts empty:
      
      1) set TCP_NODELAY
      2) clear TCP_NODELAY
      3) set TCP_CORK
      4) do small write()
      
      The current code will leave TCP_NAGLE_PUSH set after that
      sequence.  Unconditionally clearing the bit when new data
      is added via skb_entail() solves the problem.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      89ebd197
    • Thomas Graf's avatar
      [PKT_SCHED]: Fix missing qdisc_destroy() in qdisc_create_dflt() · 0fbbeb1b
      Thomas Graf authored
      qdisc_create_dflt() is missing to destroy the newly allocated
      default qdisc if the initialization fails resulting in leaks
      of all kinds. The only caller in mainline which may trigger
      this bug is sch_tbf.c in tbf_create_dflt_qdisc().
      
      Note: qdisc_create_dflt() doesn't fulfill the official locking
            requirements of qdisc_destroy() but since the qdisc could
            never be seen by the outside world this doesn't matter
            and it can stay as-is until the locking of pkt_sched
            is cleaned up.
      Signed-off-by: default avatarThomas Graf <tgraf@suug.ch>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0fbbeb1b
    • Vlad Yasevich's avatar
      [SCTP]: Add SENTINEL to SCTP MIB stats · d2287f84
      Vlad Yasevich authored
      Add SNMP_MIB_SENTINEL to the definition of the sctp_snmp_list so that
      the output routine in proc correctly terminates.  This was causing some
      problems running on ia64 systems.
      Signed-off-by: default avatarVlad Yasevich <vladislav.yasevich@hp.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d2287f84
    • Ralf Baechle's avatar
      [AX25]: UID fixes · 01d7dd0e
      Ralf Baechle authored
       o Brown paperbag bug - ax25_findbyuid() was always returning a NULL pointer
         as the result.  Breaks ROSE completly and AX.25 if UID policy set to deny.
      
       o While the list structure of AX.25's UID to callsign mapping table was
         properly protected by a spinlock, it's elements were not refcounted
         resulting in a race between removal and usage of an element.
      Signed-off-by: default avatarRalf Baechle DL5RB <ralf@linux-mips.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      01d7dd0e
    • Ralf Baechle's avatar
      [NET]: Fix socket bitop damage · 53b924b3
      Ralf Baechle authored
      The socket flag cleanups that went into 2.6.12-rc1 are basically oring
      the flags of an old socket into the socket just being created.
      Unfortunately that one was just initialized by sock_init_data(), so already
      has SOCK_ZAPPED set.  As the result zapped sockets are created and all
      incoming connection will fail due to this bug which again was carefully
      replicated to at least AX.25, NET/ROM or ROSE.
      
      In order to keep the abstraction alive I've introduced sock_copy_flags()
      to copy the socket flags from one sockets to another and used that
      instead of the bitwise copy thing.  Anyway, the idea here has probably
      been to copy all flags, so sock_copy_flags() should be the right thing.
      With this the ham radio protocols are usable again, so I hope this will
      make it into 2.6.13.
      Signed-off-by: default avatarRalf Baechle DL5RB <ralf@linux-mips.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      53b924b3
    • Patrick McHardy's avatar
      [NETFILTER]: Fix HW checksum handling in ip_queue/ip6_queue · 66a79a19
      Patrick McHardy authored
      The checksum needs to be filled in on output, after mangling a packet
      ip_summed needs to be reset.
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      66a79a19
    • Dave Johnson's avatar
      [IPV4]: Fix negative timer loop with lots of ipv4 peers. · 1344a416
      Dave Johnson authored
      From: Dave Johnson <djohnson+linux-kernel@sw.starentnetworks.com>
      
      Found this bug while doing some scaling testing that created 500K inet
      peers.
      
      peer_check_expire() in net/ipv4/inetpeer.c isn't using inet_peer_gc_mintime
      correctly and will end up creating an expire timer with less than the
      minimum duration, and even zero/negative if enough active peers are
      present.
      
      If >65K peers, the timer will be less than inet_peer_gc_mintime, and with
      >70K peers, the timer duration will reach zero and go negative.
      
      The timer handler will continue to schedule another zero/negative timer in
      a loop until peers can be aged.  This can continue for at least a few
      minutes or even longer if the peers remain active due to arriving packets
      while the loop is occurring.
      
      Bug is present in both 2.4 and 2.6.  Same patch will apply to both just
      fine.
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1344a416
    • Herbert Xu's avatar
      [RPC]: Kill bogus kmap in krb5 · c3a20692
      Herbert Xu authored
      While I was going through the crypto users recently, I noticed this
      bogus kmap in sunrpc.  It's totally unnecessary since the crypto
      layer will do its own kmap before touching the data.  Besides, the
      kmap is throwing the return value away.
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c3a20692
    • Dmitry Yusupov's avatar
      [TCP]: Do TSO deferral even if tail SKB can go out now. · 14869c38
      Dmitry Yusupov authored
      If the tail SKB fits into the window, it is still
      benefitical to defer until the goal percentage of
      the window is available.  This give the application
      time to feed more data into the send queue and thus
      results in larger TSO frames going out.
      
      Patch from Dmitry Yusupov <dima@neterion.com>.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      14869c38
  2. 21 Aug, 2005 4 commits
  3. 20 Aug, 2005 11 commits
  4. 19 Aug, 2005 5 commits
  5. 18 Aug, 2005 11 commits