1. 08 5月, 2008 1 次提交
    • I
      tcp FRTO: SACK variant is errorneously used with NewReno · 62ab2227
      Ilpo Järvinen 提交于
      Note: there's actually another bug in FRTO's SACK variant, which
      is the causing failure in NewReno case because of the error
      that's fixed here. I'll fix the SACK case separately (it's
      a separate bug really, though related, but in order to fix that
      I need to audit tp->snd_nxt usage a bit).
      
      There were two places where SACK variant of FRTO is getting
      incorrectly used even if SACK wasn't negotiated by the TCP flow.
      This leads to incorrect setting of frto_highmark with NewReno
      if a previous recovery was interrupted by another RTO.
      
      An eventual fallback to conventional recovery then incorrectly
      considers one or couple of segments as forward transmissions
      though they weren't, which then are not LOST marked during
      fallback making them "non-retransmittable" until the next RTO.
      In a bad case, those segments are really lost and are the only
      one left in the window. Thus TCP needs another RTO to continue.
      The next FRTO, however, could again repeat the same events
      making the progress of the TCP flow extremely slow.
      
      In order for these events to occur at all, FRTO must occur
      again in FRTOs step 3 while the key segments must be lost as
      well, which is not too likely in practice. It seems to most
      frequently with some small devices such as network printers
      that *seem* to accept TCP segments only in-order. In cases
      were key segments weren't lost, things get automatically
      resolved because those wrongly marked segments don't need to be
      retransmitted in order to continue.
      
      I found a reproducer after digging up relevant reports (few
      reports in total, none at netdev or lkml I know of), some
      cases seemed to indicate middlebox issues which seems now
      to be a false assumption some people had made. Bugzilla
      #10063 _might_ be related. Damon L. Chesser <damon@damtek.com>
      had a reproducable case and was kind enough to tcpdump it
      for me. With the tcpdump log it was quite trivial to figure
      out.
      Signed-off-by: NIlpo Järvinen <ilpo.jarvinen@helsinki.fi>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      62ab2227
  2. 06 5月, 2008 4 次提交
  3. 05 5月, 2008 10 次提交
  4. 04 5月, 2008 5 次提交
    • D
      niu: Fix probing regression for maramba on-board chips. · be0c007a
      David S. Miller 提交于
      Changeset 7f7c4072 ("niu: Determine
      the # of ports from the card's VPD data") caused maramba on-board
      NIU ports to stop probing properly.
      
      The old code had a fallback that would use a num_ports value of
      4 if all the probing methods failed, but that was removed.
      
      This restores the fallback of 4 ports, to get things working
      again.
      
      Bump driver version and release date.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      be0c007a
    • D
      lapbeth: Release ->ethdev when unregistering device. · e544ff00
      David S. Miller 提交于
      Otherwise it leaks forever.
      
      Based upon a report by Roland <devzero@web.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e544ff00
    • M
      xfrm: convert empty xfrm_audit_* macros to functions · 41fef0ee
      Marcin Slusarz 提交于
      it removes these warnings when CONFIG_AUDITSYSCALL is unset:
      
      net/xfrm/xfrm_user.c: In function 'xfrm_add_sa':
      net/xfrm/xfrm_user.c:412: warning: unused variable 'sid'
      net/xfrm/xfrm_user.c:411: warning: unused variable 'sessionid'
      net/xfrm/xfrm_user.c:410: warning: unused variable 'loginuid'
      net/xfrm/xfrm_user.c: In function 'xfrm_del_sa':
      net/xfrm/xfrm_user.c:485: warning: unused variable 'sid'
      net/xfrm/xfrm_user.c:484: warning: unused variable 'sessionid'
      net/xfrm/xfrm_user.c:483: warning: unused variable 'loginuid'
      net/xfrm/xfrm_user.c: In function 'xfrm_add_policy':
      net/xfrm/xfrm_user.c:1132: warning: unused variable 'sid'
      net/xfrm/xfrm_user.c:1131: warning: unused variable 'sessionid'
      net/xfrm/xfrm_user.c:1130: warning: unused variable 'loginuid'
      net/xfrm/xfrm_user.c: In function 'xfrm_get_policy':
      net/xfrm/xfrm_user.c:1382: warning: unused variable 'sid'
      net/xfrm/xfrm_user.c:1381: warning: unused variable 'sessionid'
      net/xfrm/xfrm_user.c:1380: warning: unused variable 'loginuid'
      net/xfrm/xfrm_user.c: In function 'xfrm_add_pol_expire':
      net/xfrm/xfrm_user.c:1620: warning: unused variable 'sid'
      net/xfrm/xfrm_user.c:1619: warning: unused variable 'sessionid'
      net/xfrm/xfrm_user.c:1618: warning: unused variable 'loginuid'
      net/xfrm/xfrm_user.c: In function 'xfrm_add_sa_expire':
      net/xfrm/xfrm_user.c:1658: warning: unused variable 'sid'
      net/xfrm/xfrm_user.c:1657: warning: unused variable 'sessionid'
      net/xfrm/xfrm_user.c:1656: warning: unused variable 'loginuid'
      Signed-off-by: NMarcin Slusarz <marcin.slusarz@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      41fef0ee
    • J
      net: Fix useless comment reference loop. · c8005785
      Johannes Berg 提交于
      include/linux/skbuff.h says:
              /* These elements must be at the end, see alloc_skb() for details.  */
      
      net/core/skbuff.c says:
      	* See comment in sk_buff definition, just before the 'tail' member
      
      This patch contains my guess as to the actual reason rather than a
      dead comment reference loop.
      Signed-off-by: NJohannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c8005785
    • J
      sch_htb: remove from event queue in htb_parent_to_leaf() · 3ba08b00
      Jarek Poplawski 提交于
      There is lack of removing a class from the event queue while changing
      from parent to leaf which can cause corruption of this rb tree. This
      patch fixes a bug introduced by my patch: "sch_htb: turn intermediate
      classes into leaves" commit: 160d5e10.
      
      Many thanks to Jan 'yanek' Bortl for finding a way to reproduce this
      rare bug and narrowing the test case, which made possible proper
      diagnosing.
      
      This patch is recommended for all kernels starting from 2.6.20.
      Reported-and-tested-by: NJan 'yanek' Bortl <yanek@ya.bofh.cz>
      Signed-off-by: NJarek Poplawski <jarkao2@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3ba08b00
  5. 03 5月, 2008 20 次提交