@ -514,7 +514,7 @@ static struct fib6_node * fib6_add_1(struct fib6_node *root, void *addr,
ln = node_alloc ( ) ;
if ( ! ln )
return NULL ;
return ERR_PTR ( - ENOMEM ) ;
ln - > fn_bit = plen ;
ln - > parent = pn ;
@ -561,7 +561,7 @@ insert_above:
node_free ( in ) ;
if ( ln )
node_free ( ln ) ;
return NULL ;
return ERR_PTR ( - ENOMEM ) ;
}
/*
@ -611,7 +611,7 @@ insert_above:
ln = node_alloc ( ) ;
if ( ! ln )
return NULL ;
return ERR_PTR ( - ENOMEM ) ;
ln - > fn_bit = plen ;
@ -777,11 +777,8 @@ int fib6_add(struct fib6_node *root, struct rt6_info *rt, struct nl_info *info)
if ( IS_ERR ( fn ) ) {
err = PTR_ERR ( fn ) ;
fn = NULL ;
}
if ( ! fn )
goto out ;
}
pn = fn ;
@ -820,15 +817,12 @@ int fib6_add(struct fib6_node *root, struct rt6_info *rt, struct nl_info *info)
allow_create , replace_required ) ;
if ( IS_ERR ( sn ) ) {
err = PTR_ERR ( sn ) ;
sn = NULL ;
}
if ( ! sn ) {
/* If it is failed, discard just allocated
root , and then ( in st_failure ) stale node
in main tree .
*/
node_free ( sfn ) ;
err = PTR_ERR ( sn ) ;
goto st_failure ;
}
@ -843,10 +837,8 @@ int fib6_add(struct fib6_node *root, struct rt6_info *rt, struct nl_info *info)
if ( IS_ERR ( sn ) ) {
err = PTR_ERR ( sn ) ;
sn = NULL ;
}
if ( ! sn )
goto st_failure ;
}
}
if ( ! fn - > leaf ) {