Message ID | 1478011552-24957-1-git-send-email-weiyj.lk@gmail.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Wei Yongjun <weiyj.lk@gmail.com> Date: Tue, 1 Nov 2016 14:45:52 +0000 > From: Wei Yongjun <weiyongjun1@huawei.com> > > Fix to return a negative error code from the idr_alloc() error handling > case instead of 0, as done elsewhere in this function. > > Also fix the return value check of idr_alloc() since idr_alloc return > negative errors on failure, not zero. > > Fixes: 2ae0f17df1cd ("genetlink: use idr to track families") > Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> > --- > v1 -> v2: fix the return value check and return idr_alloc's err code Applied, thanks.
diff --git a/net/netlink/genetlink.c b/net/netlink/genetlink.c index caf04d7..bbd3bff 100644 --- a/net/netlink/genetlink.c +++ b/net/netlink/genetlink.c @@ -362,8 +362,10 @@ int genl_register_family(struct genl_family *family) family->id = idr_alloc(&genl_fam_idr, family, start, end + 1, GFP_KERNEL); - if (!family->id) + if (family->id < 0) { + err = family->id; goto errout_locked; + } err = genl_validate_assign_mc_groups(family); if (err)