From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Michał Mirosław" <mirq-linux@rere.qmqm.pl>
Cc: netdev@vger.kernel.org, Herbert Xu <herbert@gondor.hengli.com.au>,
Ben Hutchings <bhutchings@solarflare.com>,
Shan Wei <shanwei@cn.fujitsu.com>
Subject: Re: [PATCH] net: tuntap: Fix tun_net_fix_features()
Date: Tue, 17 May 2011 17:29:43 +0300 [thread overview]
Message-ID: <20110517142943.GA926@redhat.com> (raw)
In-Reply-To: <20110517081954.A227013A6A@rere.qmqm.pl>
On Tue, May 17, 2011 at 10:19:54AM +0200, Michał Mirosław wrote:
> tun->set_features are meant to limit not force the features.
>
> Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
> ---
> drivers/net/tun.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/tun.c b/drivers/net/tun.c
> index 74e9405..f77c6d0 100644
> --- a/drivers/net/tun.c
> +++ b/drivers/net/tun.c
> @@ -458,7 +458,7 @@ static u32 tun_net_fix_features(struct net_device *dev, u32 features)
> {
> struct tun_struct *tun = netdev_priv(dev);
>
> - return (features & tun->set_features) | (features & ~TUN_USER_FEATURES);
> + return features & (tun->set_features | ~TUN_USER_FEATURES);
> }
>
> static const struct net_device_ops tun_netdev_ops = {
> --
> 1.7.2.5
One thing that this will do though: previously, if
ethtool disables offloads, then an application enables
them, the application will have the last say.
With this patch, the most conservative approach wins.
Right?
If we want to have the existing behaviour
I think the following would do this (untested). What do you think?
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index 74e9405..1d6c7bc 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -1199,6 +1199,8 @@ static int set_offload(struct tun_struct *tun, unsigned long arg)
return -EINVAL;
tun->set_features = features;
+ tun->dev->features &= TUN_USER_FEATURES;
+ tun->dev->features |= (features & TUN_USER_FEATURES);
netdev_update_features(tun->dev);
return 0;
next prev parent reply other threads:[~2011-05-17 14:29 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-04 18:18 tap/bridge: Dropping NETIF_F_GSO/NETIF_F_SG Michael S. Tsirkin
2011-05-04 22:34 ` Herbert Xu
2011-05-04 23:28 ` Michał Mirosław
2011-05-05 0:19 ` Herbert Xu
2011-05-05 8:44 ` Michael S. Tsirkin
2011-05-05 9:34 ` Shan Wei
2011-05-05 10:05 ` Herbert Xu
2011-05-16 7:32 ` Michael S. Tsirkin
2011-05-16 8:07 ` Herbert Xu
2011-05-16 8:18 ` Michael S. Tsirkin
2011-05-16 9:38 ` Herbert Xu
2011-05-16 9:48 ` Michael S. Tsirkin
2011-05-16 10:43 ` Herbert Xu
2011-05-16 11:21 ` Michael S. Tsirkin
2011-05-16 12:18 ` Herbert Xu
2011-05-16 12:24 ` Michał Mirosław
2011-05-16 22:46 ` Herbert Xu
2011-05-16 23:06 ` David Miller
2011-05-16 23:45 ` Herbert Xu
2011-05-17 5:18 ` Michael S. Tsirkin
2011-05-17 5:24 ` Herbert Xu
2011-05-17 5:48 ` Michael S. Tsirkin
2011-05-17 6:25 ` Herbert Xu
2011-05-17 8:08 ` Michał Mirosław
2011-05-17 8:15 ` Michał Mirosław
2011-05-17 8:19 ` [PATCH] net: tuntap: Fix tun_net_fix_features() Michał Mirosław
2011-05-17 14:29 ` Michael S. Tsirkin [this message]
2011-05-17 14:46 ` Michał Mirosław
2011-05-17 14:54 ` Michael S. Tsirkin
2011-05-17 15:00 ` Michał Mirosław
2011-05-17 15:11 ` Michael S. Tsirkin
2011-06-01 9:25 ` Michael S. Tsirkin
2011-06-20 19:14 ` [RESENT PATCH] " Michał Mirosław
2011-06-20 19:25 ` Ben Hutchings
2011-06-20 19:44 ` Michał Mirosław
2011-05-16 10:53 ` tap/bridge: Dropping NETIF_F_GSO/NETIF_F_SG Michał Mirosław
2011-05-16 8:28 ` Michael S. Tsirkin
2011-05-05 15:26 ` Michał Mirosław
2011-05-14 6:54 ` Shan Wei
2011-05-16 7:28 ` Michael S. Tsirkin
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=20110517142943.GA926@redhat.com \
--to=mst@redhat.com \
--cc=bhutchings@solarflare.com \
--cc=herbert@gondor.hengli.com.au \
--cc=mirq-linux@rere.qmqm.pl \
--cc=netdev@vger.kernel.org \
--cc=shanwei@cn.fujitsu.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;
as well as URLs for NNTP newsgroup(s).