Re: [PATCH net] tuntap: raise EPOLLOUT on device up

From: Michael S. Tsirkin
Date: Mon May 21 2018 - 17:13:51 EST


On Mon, May 21, 2018 at 11:47:42AM -0400, David Miller wrote:
> From: Jason Wang <jasowang@xxxxxxxxxx>
> Date: Fri, 18 May 2018 21:00:43 +0800
>
> > We return -EIO on device down but can not raise EPOLLOUT after it was
> > up. This may confuse user like vhost which expects tuntap to raise
> > EPOLLOUT to re-enable its TX routine after tuntap is down. This could
> > be easily reproduced by transmitting packets from VM while down and up
> > the tap device. Fixing this by set SOCKWQ_ASYNC_NOSPACE on -EIO.
> >
> > Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx>
> > Cc: Eric Dumazet <edumazet@xxxxxxxxxx>
> > Fixes: 1bd4978a88ac2 ("tun: honor IFF_UP in tun_get_user()")
> > Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx>
>
> I'm no so sure what to do with this patch.
>
> Like Michael says, this flag bit is only checks upon transmit which
> may or may not happen after this point. It doesn't seem to be
> guaranteed.

Jason, can't we detect a link up transition and respond accordingly?
What do you think?

--
MST