Skip to content

Commit

Permalink
taskstats: use genl_register_family_with_ops()
Browse files Browse the repository at this point in the history
This simplifies the code since there's no longer a
need to have error handling in the registration.

Signed-off-by: Johannes Berg <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
jmberg-intel authored and davem330 committed Nov 14, 2013
1 parent 1e9f3d6 commit 88d36a9
Showing 1 changed file with 14 additions and 25 deletions.
39 changes: 14 additions & 25 deletions kernel/taskstats.c
Original file line number Diff line number Diff line change
Expand Up @@ -673,17 +673,18 @@ void taskstats_exit(struct task_struct *tsk, int group_dead)
nlmsg_free(rep_skb);
}

static struct genl_ops taskstats_ops = {
.cmd = TASKSTATS_CMD_GET,
.doit = taskstats_user_cmd,
.policy = taskstats_cmd_get_policy,
.flags = GENL_ADMIN_PERM,
};

static struct genl_ops cgroupstats_ops = {
.cmd = CGROUPSTATS_CMD_GET,
.doit = cgroupstats_user_cmd,
.policy = cgroupstats_cmd_get_policy,
static struct genl_ops taskstats_ops[] = {
{
.cmd = TASKSTATS_CMD_GET,
.doit = taskstats_user_cmd,
.policy = taskstats_cmd_get_policy,
.flags = GENL_ADMIN_PERM,
},
{
.cmd = CGROUPSTATS_CMD_GET,
.doit = cgroupstats_user_cmd,
.policy = cgroupstats_cmd_get_policy,
},
};

/* Needed early in initialization */
Expand All @@ -702,26 +703,14 @@ static int __init taskstats_init(void)
{
int rc;

rc = genl_register_family(&family);
rc = genl_register_family_with_ops(&family, taskstats_ops,
ARRAY_SIZE(taskstats_ops));
if (rc)
return rc;

rc = genl_register_ops(&family, &taskstats_ops);
if (rc < 0)
goto err;

rc = genl_register_ops(&family, &cgroupstats_ops);
if (rc < 0)
goto err_cgroup_ops;

family_registered = 1;
pr_info("registered taskstats version %d\n", TASKSTATS_GENL_VERSION);
return 0;
err_cgroup_ops:
genl_unregister_ops(&family, &taskstats_ops);
err:
genl_unregister_family(&family);
return rc;
}

/*
Expand Down

0 comments on commit 88d36a9

Please sign in to comment.