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: Wed, 1 Oct 2014 02:25:01 +0200 From: Alexander Aring <alex.aring@...il.com> To: Fabian Frederick <fabf@...net.be> Cc: linux-kernel@...r.kernel.org, "David S. Miller" <davem@...emloft.net>, linux-wpan@...r.kernel.org, netdev@...r.kernel.org Subject: Re: [PATCH 1/1 linux-next] ieee802154: add __init to lowpan_frags_sysctl_register Hi, On Tue, Sep 30, 2014 at 10:34:08PM +0200, Fabian Frederick wrote: > lowpan_frags_sysctl_register is only called by __init lowpan_net_frag_init > (part of the lowpan module). > > Signed-off-by: Fabian Frederick <fabf@...net.be> > --- > This is untested. > > net/ieee802154/reassembly.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/net/ieee802154/reassembly.c b/net/ieee802154/reassembly.c > index 32755cb..30ec608 100644 > --- a/net/ieee802154/reassembly.c > +++ b/net/ieee802154/reassembly.c > @@ -485,7 +485,7 @@ static void __net_exit lowpan_frags_ns_sysctl_unregister(struct net *net) > > static struct ctl_table_header *lowpan_ctl_header; > > -static int lowpan_frags_sysctl_register(void) > +static int __init lowpan_frags_sysctl_register(void) yes right, but there is more lacks of missing "__init". See below. > { > lowpan_ctl_header = register_net_sysctl(&init_net, > "net/ieee802154/6lowpan", > @@ -498,7 +498,7 @@ static void lowpan_frags_sysctl_unregister(void) > unregister_net_sysctl_table(lowpan_ctl_header); > } > #else > -static inline int lowpan_frags_ns_sysctl_register(struct net *net) > +static inline int __init lowpan_frags_ns_sysctl_register(struct net *net) This is wrong, it's callback from "struct pernet_operations lowpan_frags_ops". > { > return 0; > } Your patch adds "__init" now for two different functions and we have two different declarations for these functions, depends if CONFIG_SYSCTL is enabled. Now if CONFIG_SYSCTL select we have as lowpan_frags_sysctl_register declaration: static int __init lowpan_frags_sysctl_register(void) if not: static inline int lowpan_frags_sysctl_register(void) Same for lowpan_frags_ns_sysctl_register and vice versa for CONFIG_SYSCTL. Your changes are for two different functions (Don't know if you realized that): "lowpan_frags_sysctl_register" and "lowpan_frags_ns_sysctl_register", which makes no sense. Also lowpan_frags_ns_sysctl_register isn't called by module init which is wrong. To make "correct" cleanup for this "__init" should be add to the functions, for both declarations if CONFIG_SYSCTL is set or not: - lowpan_net_frag_init - lowpan_frags_sysctl_register I see now it's already applied, David please revert this change. Are you fine to apply a correct version of this to wpan-next tree, next time? - Alex -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists