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: Tue, 4 Jun 2013 16:36:50 +0100 From: Florian Fainelli <florian@...nwrt.org> To: Arnd Bergmann <arnd@...db.de> Cc: David Miller <davem@...emloft.net>, alexandre.belloni@...e-electrons.com, netdev@...r.kernel.org, linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org, Russell King <linux@....linux.org.uk>, shawn.guo@...aro.org, kernel@...gutronix.de Subject: Re: [PATCHv2 1/3] net: phy: prevent linking breakage 2013/6/4 Arnd Bergmann <arnd@...db.de>: >> Or you properly segregate the networking bits of the platform code so >> that it can be built only when the necessary networking portions are >> enabled. >> >> Sometimes having dummy stubs makes sense, but not in this situation. > > Currently most users of this function are doing something like > > static int foo_phy_fixup(struct phy_device *phydev) > { > ... > } > > static int __init boo_board_init(void) > { > if (IS_BUILTIN(CONFIG_PHYLIB)) > phy_register_fixup_for_uid(phy_id, foo_phy_fixup); > } > > which is practically the same as having a dummy stub. It leads to > the foo_phy_fixup() function always getting compiled and then discarded > by gcc when CONFIG_PHYLIB is disabled. > > The method is currently broken when network drivers are enabled as > modules, because we are missing the fixup then. > > I think we should use IS_ENABLED() here to force a build error > in that case, and have something like > > config ARCH_FOO > bool "support for the foo platform" > select PHYLIB if NET > > in the platform Kconfig file, to ensure PHYLIB is always built-in. > > I still think the inline alternatives would be helpful, but using > if (IS_ENABLED(CONFIG_PHYLIB)) in the platform code would also > work. It seems to me that what David proposes is to have say an arch/arm/mach-foo/phy-fixups.c file which is only enabled when CONFIG_PHYLIB is set (obj-$(CONFIG_PHYLIB) += phy-fixup.o), such that it does not need to have any conditionnals when calling phy_register_fixup. This sounds a little unusual, but why not. -- Florian -- 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