Subject: Re: [GIT] Networking

From: Patrick McHardy <[email-masked]>
Date: Thu, 2 May 2013 10:36:49 +0200

On Thu, May 02, 2013 at 04:16:25AM -0400, David Miller wrote:
> From: Patrick McHardy <[email-masked]>
> Date: Thu, 2 May 2013 09:03:37 +0200
> 
> > I'll also have a look at this.
> 
> By the mere existence of /sys/devices/${DEV_PATH}/net/${netdev_name}/flags
> we have to preserve the bit layout.
> 
> So Linus was right.
> 
> So network manager is probably reading that flags sysfs file and
> interpreting it.

Right, that seems plausible. 

> I'll fix the layout to how it was before.

I also found one spot in net/core/dev.c which was using an int for the
features. Patch attached.

commit d0ed96507b21da2668766207f68518bef3193111
Author: Patrick McHardy <[email-masked]>
Date:   Thu May 2 10:35:02 2013 +0200

    net: use netdev_features_t in skb_needs_linearize()
    
    Signed-off-by: Patrick McHardy <[email-masked]>

diff --git a/net/core/dev.c b/net/core/dev.c
index 4040673..40b1fad 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2456,7 +2456,7 @@ EXPORT_SYMBOL(netif_skb_features);
  *	2. skb is fragmented and the device does not support SG.
  */
 static inline int skb_needs_linearize(struct sk_buff *skb,
-				      int features)
+				      netdev_features_t features)
 {
 	return skb_is_nonlinear(skb) &&
 			((skb_has_frag_list(skb) &&