[lkml]   [2010]   [Apr]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] tun: orphan an skb on tx
    On Tue, Apr 13, 2010 at 05:59:44PM +0300, Michael S. Tsirkin wrote:
    > 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: Michael S. Tsirkin <>
    > Tested-by: Yan Vugenfirer <>

    Acked-by: Herbert Xu <>

    Visit Openswan at
    Email: Herbert Xu ~{PmV>HI~} <>
    Home Page:
    PGP Key:

     \ /
      Last update: 2010-04-13 17:15    [W:0.024 / U:2.392 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site