From: Richard Guy Briggs <rgb(a)redhat.com>
Date: Mon, 24 Mar 2014 16:59:23 -0400
+ if (err)
+ if (!nlk->portid)
+ netlink_remove(sk);
+ for (int undo = 0; undo < i; undo++)
+ if (nlk->netlink_unbind)
+ nlk->netlink_unbind(undo);
+ return err;
Take a good long stare at that code block for a while.
Looks like you forgot the braces to delineate the code block.
This also means you really haven't tested this patch :-)
Please also DO NOT declare local variables in a for() statement,
this is not c++.