1. 14 Apr, 2010 2 commits
    • Michael S. Tsirkin's avatar
      tun: orphan an skb on tx · 0110d6f2
      Michael S. Tsirkin authored
      The following situation was observed in the field:
      tap1 sends packets, tap2 does not consume them, as a result
      tap1 can not be closed. This happens because
      tun/tap devices can hang on to skbs undefinitely.
      
      As noted by Herbert, possible solutions include a timeout followed by a
      copy/change of ownership of the skb, or always copying/changing
      ownership if we're going into a hostile device.
      
      This patch implements the second approach.
      
      Note: one issue still remaining is that since skbs
      keep reference to tun socket and tun socket has a
      reference to tun device, we won't flush backlog,
      instead simply waiting for all skbs to get transmitted.
      At least this is not user-triggerable, and
      this was not reported in practice, my assumption is
      other devices besides tap complete an skb
      within finite time after it has been queued.
      
      A possible solution for the second issue
      would not to have socket reference the device,
      instead, implement dev->destructor for tun, and
      wait for all skbs to complete there, but this
      needs some thought, probably too risky for 2.6.34.
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Tested-by: default avatarYan Vugenfirer <yvugenfi@redhat.com>
      Acked-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0110d6f2
    • Ayaz Abdulla's avatar
      forcedeth: fix tx limit2 flag check · 5c659322
      Ayaz Abdulla authored
      This is a fix for bug 572201 @ bugs.debian.org
      
      This patch fixes the TX_LIMIT feature flag. The previous logic check
      for TX_LIMIT2 also took into account a device that only had TX_LIMIT
      set.
      Reported-by: default avatarStephen Mulcahu <stephen.mulcahy@deri.org>
      Reported-by: default avatarBen Huchings <ben@decadent.org.uk>
      Signed-off-by: default avatarAyaz Abdulla <aabdulla@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      
      
      5c659322
  2. 13 Apr, 2010 5 commits
  3. 11 Apr, 2010 2 commits
  4. 09 Apr, 2010 31 commits