A vlan cound be found before real dev and in that case wait for real dev to get added first and prevent memory leak by freeing iff.
fipvlan: creating netlink socket fipvlan: sending RTM_GETLINK dump request fipvlan: rtnl_listener_handler: error 0 Success fipvlan: rtnl_listener_handler: may be error:0 pfd:1 fipvlan: RTM_NEWLINK: ifindex 5, type 1, flags 1003 fipvlan: rtnl_recv_newlink: error 19 No such device fipvlan: rtnl_recv_newlink: VLAN found without parent fipvlan: main: error 19 No such device fipvlan: main: no interfaces to perform discovery on Signed-off-by: Vasu Dev <[email protected]> Tested-by: John Bishop <[email protected]> --- fipvlan.c | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) diff --git a/fipvlan.c b/fipvlan.c index 5c10713..851932c 100644 --- a/fipvlan.c +++ b/fipvlan.c @@ -392,11 +392,11 @@ void rtnl_recv_newlink(struct nlmsghdr *nh) parse_vlaninfo(vlan, linkinfo[IFLA_INFO_DATA]); iff->vid = *(int *)RTA_DATA(vlan[IFLA_VLAN_ID]); real_dev = find_vlan_real_dev(iff); - if (!real_dev) { - FIP_LOG_ERR(ENODEV, "VLAN found without parent"); - return; - } - TAILQ_INSERT_TAIL(&real_dev->vlans, iff, list_node); + if (real_dev) + TAILQ_INSERT_TAIL(&real_dev->vlans, + iff, list_node); + else + free(iff); return; } /* ignore bonding interfaces */ _______________________________________________ devel mailing list [email protected] https://lists.open-fcoe.org/mailman/listinfo/devel
