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
| ||
|
Message-ID: <625fda9e-5768-4d0d-c52e-d40368e20d2e@ti.com> Date: Wed, 21 Dec 2016 12:23:53 -0600 From: Grygorii Strashko <grygorii.strashko@...com> To: Arnd Bergmann <arnd@...db.de>, "David S. Miller" <davem@...emloft.net> CC: Thomas Gleixner <tglx@...utronix.de>, Nicolas Pitre <nicolas.pitre@...aro.org>, Uwe Kleine-König <u.kleine-koenig@...gutronix.de>, "Kwok, WingMan" <w-kwok2@...com>, "netdev@...r.kernel.org" <netdev@...r.kernel.org>, "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org> Subject: Re: [PATCH net 3/3] cpsw/netcp: work around reverse cpts dependency On 12/16/2016 03:19 AM, Arnd Bergmann wrote: > The dependency is reversed: cpsw and netcp call into cpts, > but cpts depends on the other two in Kconfig. This can lead > to cpts being a loadable module and its callers built-in: > > drivers/net/ethernet/ti/cpsw.o: In function `cpsw_remove': > cpsw.c:(.text.cpsw_remove+0xd0): undefined reference to `cpts_release' > drivers/net/ethernet/ti/cpsw.o: In function `cpsw_rx_handler': > cpsw.c:(.text.cpsw_rx_handler+0x2dc): undefined reference to `cpts_rx_timestamp' > drivers/net/ethernet/ti/cpsw.o: In function `cpsw_tx_handler': > cpsw.c:(.text.cpsw_tx_handler+0x7c): undefined reference to `cpts_tx_timestamp' > drivers/net/ethernet/ti/cpsw.o: In function `cpsw_ndo_stop': > > As a workaround, I'm introducing another Kconfig symbol to > control the compilation of cpts, while making the actual > module controlled by a silent symbol that is =y when necessary. > > Fixes: 6246168b4a38 ("net: ethernet: ti: netcp: add support of cpts") > Signed-off-by: Arnd Bergmann <arnd@...db.de> Thanks for the fix. I've tried to test as much combination as possible, but seems not of them:( Reviewed-by: Grygorii Strashko <grygorii.strashko@...com> > --- > drivers/net/ethernet/ti/Kconfig | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/ethernet/ti/Kconfig b/drivers/net/ethernet/ti/Kconfig > index 366e29ff8605..c114efcd1575 100644 > --- a/drivers/net/ethernet/ti/Kconfig > +++ b/drivers/net/ethernet/ti/Kconfig > @@ -73,8 +73,8 @@ config TI_CPSW > To compile this driver as a module, choose M here: the module > will be called cpsw. > > -config TI_CPTS > - tristate "TI Common Platform Time Sync (CPTS) Support" > +config TI_CPTS_ENABLE > + bool "TI Common Platform Time Sync (CPTS) Support" > depends on TI_CPSW || TI_KEYSTONE_NETCP > depends on POSIX_TIMERS > select PTP_1588_CLOCK > @@ -84,6 +84,12 @@ config TI_CPTS > The unit can time stamp PTP UDP/IPv4 and Layer 2 packets, and the > driver offers a PTP Hardware Clock. > > +config TI_CPTS > + tristate > + depends on TI_CPTS_ENABLE > + default y if TI_CPSW=y || TI_KEYSTONE_NETCP=y > + default m > + > config TI_KEYSTONE_NETCP > tristate "TI Keystone NETCP Core Support" > select TI_CPSW_ALE > -- regards, -grygorii
Powered by blists - more mailing lists