1. 23 2月, 2013 2 次提交
  2. 14 2月, 2013 3 次提交
  3. 13 2月, 2013 2 次提交
    • J
      htb: fix values in opt dump · 9c10f411
      Jiri Pirko 提交于
      in htb_change_class() cl->buffer and cl->buffer are stored in ns.
      So in dump, convert them back to psched ticks.
      
      Note this was introduced by:
      commit 56b765b7
          htb: improved accuracy at high rates
      
      Please consider this for -net/-stable.
      Signed-off-by: NJiri Pirko <jiri@resnulli.us>
      Acked-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9c10f411
    • E
      net: fix infinite loop in __skb_recv_datagram() · 77c1090f
      Eric Dumazet 提交于
      Tommi was fuzzing with trinity and reported the following problem :
      
      commit 3f518bf7 (datagram: Add offset argument to __skb_recv_datagram)
      missed that a raw socket receive queue can contain skbs with no payload.
      
      We can loop in __skb_recv_datagram() with MSG_PEEK mode, because
      wait_for_packet() is not prepared to skip these skbs.
      
      [   83.541011] INFO: rcu_sched detected stalls on CPUs/tasks: {}
      (detected by 0, t=26002 jiffies, g=27673, c=27672, q=75)
      [   83.541011] INFO: Stall ended before state dump start
      [  108.067010] BUG: soft lockup - CPU#0 stuck for 22s! [trinity-child31:2847]
      ...
      [  108.067010] Call Trace:
      [  108.067010]  [<ffffffff818cc103>] __skb_recv_datagram+0x1a3/0x3b0
      [  108.067010]  [<ffffffff818cc33d>] skb_recv_datagram+0x2d/0x30
      [  108.067010]  [<ffffffff819ed43d>] rawv6_recvmsg+0xad/0x240
      [  108.067010]  [<ffffffff818c4b04>] sock_common_recvmsg+0x34/0x50
      [  108.067010]  [<ffffffff818bc8ec>] sock_recvmsg+0xbc/0xf0
      [  108.067010]  [<ffffffff818bf31e>] sys_recvfrom+0xde/0x150
      [  108.067010]  [<ffffffff81ca4329>] system_call_fastpath+0x16/0x1b
      Reported-by: NTommi Rantala <tt.rantala@gmail.com>
      Tested-by: NTommi Rantala <tt.rantala@gmail.com>
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Cc: Pavel Emelyanov <xemul@parallels.com>
      Acked-by: NPavel Emelyanov <xemul@parallels.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      77c1090f
  4. 12 2月, 2013 1 次提交
  5. 11 2月, 2013 2 次提交
  6. 09 2月, 2013 2 次提交
  7. 08 2月, 2013 6 次提交
  8. 07 2月, 2013 3 次提交
  9. 06 2月, 2013 1 次提交
    • D
      ipvs: sctp: fix checksumming on snat and dnat handlers · 4b47bc9a
      Daniel Borkmann 提交于
      In our test lab, we have a simple SCTP client connecting to a SCTP
      server via an IPVS load balancer. On some machines, load balancing
      works, but on others the initial handshake just fails, thus no
      SCTP connection whatsoever can be established!
      
      We observed that the SCTP INIT-ACK handshake reply from the IPVS
      machine to the client had a correct IP checksum, but corrupt SCTP
      checksum when forwarded, thus on the client-side the packet was
      dropped and an intial handshake retriggered until all attempts
      run into the void.
      
      To fix this issue, this patch i) adds a missing CHECKSUM_UNNECESSARY
      after the full checksum (re-)calculation (as done in IPVS TCP and UDP
      code as well), ii) calculates the checksum in little-endian format
      (as fixed with the SCTP code in commit 4458f04c: sctp: Clean up sctp
      checksumming code) and iii) refactors duplicate checksum code into a
      common function. Tested by myself.
      Signed-off-by: NDaniel Borkmann <dborkman@redhat.com>
      Acked-by: NJulian Anastasov <ja@ssi.bg>
      Signed-off-by: NSimon Horman <horms@verge.net.au>
      4b47bc9a
  10. 05 2月, 2013 2 次提交
  11. 04 2月, 2013 4 次提交
  12. 01 2月, 2013 6 次提交
  13. 31 1月, 2013 2 次提交
  14. 30 1月, 2013 4 次提交
    • N
      tcp: Increment LISTENOVERFLOW and LISTENDROPS in tcp_v4_conn_request() · 2aeef18d
      Nivedita Singhvi 提交于
      We drop a connection request if the accept backlog is full and there are
      sufficient packets in the syn queue to warrant starting drops. Increment the
      appropriate counters so this isn't silent, for accurate stats and help in
      debugging.
      
      This patch assumes LINUX_MIB_LISTENDROPS is a superset of/includes the
      counter LINUX_MIB_LISTENOVERFLOWS.
      Signed-off-by: NNivedita Singhvi <niv@us.ibm.com>
      Acked-by: NVijay Subramanian <subramanian.vijay@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2aeef18d
    • Y
      ipv6 addrconf: Fix interface identifiers of 802.15.4 devices. · 5e98a36e
      YOSHIFUJI Hideaki / 吉藤英明 提交于
      The "Universal/Local" (U/L) bit must be complmented according to RFC4944
      and RFC2464.
      Signed-off-by: NYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5e98a36e
    • C
      pktgen: correctly handle failures when adding a device · 604dfd6e
      Cong Wang 提交于
      The return value of pktgen_add_device() is not checked, so
      even if we fail to add some device, for example, non-exist one,
      we still see "OK:...". This patch fixes it.
      
      After this patch, I got:
      
      	# echo "add_device non-exist" > /proc/net/pktgen/kpktgend_0
      	-bash: echo: write error: No such device
      	# cat /proc/net/pktgen/kpktgend_0
      	Running:
      	Stopped:
      	Result: ERROR: can not add device non-exist
      	# echo "add_device eth0" > /proc/net/pktgen/kpktgend_0
      	# cat /proc/net/pktgen/kpktgend_0
      	Running:
      	Stopped: eth0
      	Result: OK: add_device=eth0
      
      (Candidate for -stable)
      
      Cc: David S. Miller <davem@davemloft.net>
      Signed-off-by: NCong Wang <amwang@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      604dfd6e
    • J
      netem: fix delay calculation in rate extension · a13d3104
      Johannes Naab 提交于
      The delay calculation with the rate extension introduces in v3.3 does
      not properly work, if other packets are still queued for transmission.
      For the delay calculation to work, both delay types (latency and delay
      introduces by rate limitation) have to be handled differently. The
      latency delay for a packet can overlap with the delay of other packets.
      The delay introduced by the rate however is separate, and can only
      start, once all other rate-introduced delays finished.
      
      Latency delay is from same distribution for each packet, rate delay
      depends on the packet size.
      
      .: latency delay
      -: rate delay
      x: additional delay we have to wait since another packet is currently
         transmitted
      
        .....----                    Packet 1
          .....xx------              Packet 2
                     .....------     Packet 3
          ^^^^^
          latency stacks
               ^^
               rate delay doesn't stack
                     ^^
                     latency stacks
      
        -----> time
      
      When a packet is enqueued, we first consider the latency delay. If other
      packets are already queued, we can reduce the latency delay until the
      last packet in the queue is send, however the latency delay cannot be
      <0, since this would mean that the rate is overcommitted.  The new
      reference point is the time at which the last packet will be send. To
      find the time, when the packet should be send, the rate introduces delay
      has to be added on top of that.
      Signed-off-by: NJohannes Naab <jn@stusta.de>
      Acked-by: NHagen Paul Pfeifer <hagen@jauu.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a13d3104