lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 12 May 2011 07:50:28 +0200 From: Michał Mirosław <mirqus@...il.com> To: Mahesh Bandewar <maheshb@...gle.com> Cc: Jeff Kirsher <jeffrey.t.kirsher@...el.com>, e1000-devel <e1000-devel@...ts.sourceforge.net>, David Miller <davem@...emloft.net>, netdev <netdev@...r.kernel.org>, Tom Herbert <therbert@...gle.com> Subject: Re: [PATCHv1] e1000e: Allow ethtool to enable/disable loopback. W dniu 12 maja 2011 01:11 użytkownik Mahesh Bandewar <maheshb@...gle.com> napisał: > On Wed, May 11, 2011 at 12:15 PM, Michał Mirosław <mirqus@...il.com> wrote: >> 2011/5/11 Mahesh Bandewar <maheshb@...gle.com>: >>> This patch adds e1000_set_features() to handle loopback mode. When loopback >>> is enabled, it enables internal-MAC loopback. >> Please wait for this driver's conversion to hw_features. One comment >> below, though. > This is not intrusive so should not create problems when that happens. Fine by me then. >> [...] >>> --- a/drivers/net/e1000e/netdev.c >>> +++ b/drivers/net/e1000e/netdev.c >> [...] >>> +static int e1000_set_features(struct net_device *dev, u32 features) >>> +{ >>> + u32 changed = dev->features ^ features; >>> + >>> + if ((changed & NETIF_F_LOOPBACK) && netif_running(dev)) >>> + e1000_set_loopback(dev, features); >>> + >>> + return 0; >>> +} >> [...] >> >> If e1000_set_loopback() fails, this should set dev->features to passed >> features (but keeping NETIF_F_LOOPBACK unchanged in dev->features) to >> keep the state consistent. > set_features() can return the return code of set_loopback() instead of > 0; this way the consistency will be maintained. Only as long as NETIF_F_LOOPBACK is the only bit set in hw_features. netdev_update_features() can't really know which features were changed and which failed when ndo_set_features callback returns non-zero. Best Regards, Michał Mirosław -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists