Commit 22ca904a authored by Wei Yongjun's avatar Wei Yongjun Committed by David S. Miller
Browse files

genetlink: fix error return code in genl_register_family()



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: 2ae0f17d ("genetlink: use idr to track families")
Signed-off-by: default avatarWei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e58e4159
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -362,8 +362,10 @@ int genl_register_family(struct genl_family *family)


	family->id = idr_alloc(&genl_fam_idr, family,
	family->id = idr_alloc(&genl_fam_idr, family,
			       start, end + 1, GFP_KERNEL);
			       start, end + 1, GFP_KERNEL);
	if (!family->id)
	if (family->id < 0) {
		err = family->id;
		goto errout_locked;
		goto errout_locked;
	}


	err = genl_validate_assign_mc_groups(family);
	err = genl_validate_assign_mc_groups(family);
	if (err)
	if (err)