From: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
To: Umang Pokhriyal <umangpokhriyall@gmail.com>,
Willem de Bruijn <willemdebruijn.kernel@gmail.com>,
Jason Wang <jasowangio@gmail.com>,
Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@kernel.org>,
Jakub Kicinski <kuba@kernel.org>,
Paolo Abeni <pabeni@redhat.com>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH net-next v2] tap: report IFF_DETACH_QUEUE in TUNGETIFF
Date: Sun, 04 Oct 2026 18:52:24 -0400 [thread overview]
Message-ID: <willemdebruijn.kernel.3720fccc8b4e4@gmail.com> (raw)
In-Reply-To: <20261004174739.36179-1-umangpokhriyall@gmail.com>
Umang Pokhriyal wrote:
> tun sets IFF_DETACH_QUEUE in the flags returned by TUNGETIFF when the
> queue is detached, since commit 3d407a80b62f ("tun: Report whether the
> queue is attached or not"). tap does not, so userspace cannot tell a
> detached macvtap or ipvtap queue from an attached one.
>
> Cloud Hypervisor ran into this when checking queue state on macvtap.
>
> Report the flag from q->enabled, as tun does. Unlike tun, tap accepts
> TUNSETIFF on a bound fd, so ignore IFF_DETACH_QUEUE there to keep
> writing the TUNGETIFF flags back working.
>
> Assisted-by: LLM
> Signed-off-by: Umang Pokhriyal <umangpokhriyall@gmail.com>
> ---
>
> Notes:
> v2:
> - ignore IFF_DETACH_QUEUE in TUNSETIFF so the TUNGETIFF flags can be
> written back, and describe the change as parity with tun (Sashiko)
> - drop Willem's Reviewed-by because of the new TUNSETIFF hunk
> v1: https://lore.kernel.org/netdev/20260929142238.41742-1-umangpokhriyall@gmail.com/
>
> drivers/net/tap.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/net/tap.c b/drivers/net/tap.c
> index ff67d99deb39e..832439b8a8988 100644
> --- a/drivers/net/tap.c
> +++ b/drivers/net/tap.c
> @@ -932,6 +932,9 @@ static long tap_ioctl(struct file *file, unsigned int cmd,
> if (get_user(u, &ifr->ifr_flags))
> return -EFAULT;
>
> + /* TUNGETIFF may report IFF_DETACH_QUEUE, ignore it here */
> + u &= ~IFF_DETACH_QUEUE;
> +
I suppose we want tap to expose this state through TUNGETIFF, like tun,
because applications already use that?
Else cleaner than working around bits would be a whole new TUNGETQUEUE
call to match TUNSETQUEUE. Rather than to squish this into TUNGETIFF,
while that has no equivalent in TUNSETIFF.
But, that approach does not help existing applications.
So this is probably the right way. Just want to quickly check.
> ret = 0;
> if ((u & ~TAP_IFFEATURES) != (IFF_NO_PI | IFF_TAP))
> ret = -EINVAL;
> @@ -950,6 +953,8 @@ static long tap_ioctl(struct file *file, unsigned int cmd,
>
> ret = 0;
> u = q->flags;
> + if (!q->enabled)
> + u |= IFF_DETACH_QUEUE;
> if (copy_to_user(&ifr->ifr_name, tap->dev->name, IFNAMSIZ) ||
> put_user(u, &ifr->ifr_flags))
> ret = -EFAULT;
>
> base-commit: cfb7793d1bc0f7d90571611979654cf1b3886b29
> --
> 2.53.0
>
next prev parent reply other threads:[~2026-10-04 22:52 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-04 17:47 Umang Pokhriyal
2026-10-04 22:52 ` Willem de Bruijn [this message]
2026-10-05 6:12 ` Umang Pokhriyal
2026-10-05 17:15 ` Willem de Bruijn
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=willemdebruijn.kernel.3720fccc8b4e4@gmail.com \
--to=willemdebruijn.kernel@gmail.com \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@kernel.org \
--cc=jasowangio@gmail.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=umangpokhriyall@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®