From: Antonio Quartulli antonio@open-mesh.com
hard-interface.c has to do not contain any routing algorithm specific code.
Allocate the hard-interface with kzalloc() and remove any useless and algorithm specific member initialisation
Signed-off-by: Antonio Quartulli antonio@open-mesh.com --- hard-interface.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/hard-interface.c b/hard-interface.c index 18f4523..dc4ac29 100644 --- a/hard-interface.c +++ b/hard-interface.c @@ -577,7 +577,7 @@ batadv_hardif_add_interface(struct net_device *net_dev)
dev_hold(net_dev);
- hard_iface = kmalloc(sizeof(*hard_iface), GFP_ATOMIC); + hard_iface = kzalloc(sizeof(*hard_iface), GFP_ATOMIC); if (!hard_iface) goto release_dev;
@@ -603,12 +603,6 @@ batadv_hardif_add_interface(struct net_device *net_dev) batadv_check_known_mac_addr(hard_iface->net_dev); list_add_tail_rcu(&hard_iface->list, &batadv_hardif_list);
- /* This can't be called via a bat_priv callback because - * we have no bat_priv yet. - */ - atomic_set(&hard_iface->bat_iv.ogm_seqno, 1); - hard_iface->bat_iv.ogm_buff = NULL; - return hard_iface;
free_if:
On Tue, Apr 02, 2013 at 12:16:53PM +0200, Antonio Quartulli wrote:
From: Antonio Quartulli antonio@open-mesh.com
hard-interface.c has to do not contain any routing algorithm specific code.
Allocate the hard-interface with kzalloc() and remove any useless and algorithm specific member initialisation
Signed-off-by: Antonio Quartulli antonio@open-mesh.com
For whoever is concerned about this missing initialisations, I have to say that those are done in the routing specific API function upon hard-interface activation. Meaning that the seqno and the ogm_buff are initialised somewhere else before being used.
However, using kzalloc, ensure that all the members are initialised to 0 after allocation.
Cheers,
On Tuesday, April 02, 2013 18:22:50 Antonio Quartulli wrote:
On Tue, Apr 02, 2013 at 12:16:53PM +0200, Antonio Quartulli wrote:
From: Antonio Quartulli antonio@open-mesh.com
hard-interface.c has to do not contain any routing algorithm specific code.
Allocate the hard-interface with kzalloc() and remove any useless and algorithm specific member initialisation
Signed-off-by: Antonio Quartulli antonio@open-mesh.com
For whoever is concerned about this missing initialisations, I have to say that those are done in the routing specific API function upon hard-interface activation. Meaning that the seqno and the ogm_buff are initialised somewhere else before being used.
However, using kzalloc, ensure that all the members are initialised to 0 after allocation.
Applied in revision 1cc6cbc.
Thanks, Marek
b.a.t.m.a.n@lists.open-mesh.org