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: 2ae0f17df1
("genetlink: use idr to track families")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
e58e415968
Коммит
22ca904ad7
|
@ -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)
|
||||
|
|
Загрузка…
Ссылка в новой задаче