Skip to content

Commit

Permalink
net: Simplify phonet pernet operations.
Browse files Browse the repository at this point in the history
Take advantage of the new pernet automatic storage management,
and stop using compatibility network namespace functions.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Eric W. Biederman authored and David S. Miller committed Dec 2, 2009
1 parent aaab340 commit d2b3eb6
Showing 1 changed file with 6 additions and 10 deletions.
16 changes: 6 additions & 10 deletions net/phonet/pn_dev.c
Original file line number Diff line number Diff line change
Expand Up @@ -313,19 +313,14 @@ static struct notifier_block phonet_device_notifier = {
/* Per-namespace Phonet devices handling */
static int phonet_init_net(struct net *net)
{
struct phonet_net *pnn = kzalloc(sizeof(*pnn), GFP_KERNEL);
if (!pnn)
return -ENOMEM;
struct phonet_net *pnn = net_generic(net, phonet_net_id);

if (!proc_net_fops_create(net, "phonet", 0, &pn_sock_seq_fops)) {
kfree(pnn);
if (!proc_net_fops_create(net, "phonet", 0, &pn_sock_seq_fops))
return -ENOMEM;
}

INIT_LIST_HEAD(&pnn->pndevs.list);
mutex_init(&pnn->pndevs.lock);
mutex_init(&pnn->routes.lock);
net_assign_generic(net, phonet_net_id, pnn);
return 0;
}

Expand All @@ -349,18 +344,19 @@ static void phonet_exit_net(struct net *net)
rtnl_unlock();

proc_net_remove(net, "phonet");
kfree(pnn);
}

static struct pernet_operations phonet_net_ops = {
.init = phonet_init_net,
.exit = phonet_exit_net,
.id = &phonet_net_id,
.size = sizeof(struct phonet_net),
};

/* Initialize Phonet devices list */
int __init phonet_device_init(void)
{
int err = register_pernet_gen_device(&phonet_net_id, &phonet_net_ops);
int err = register_pernet_device(&phonet_net_ops);
if (err)
return err;

Expand All @@ -375,7 +371,7 @@ void phonet_device_exit(void)
{
rtnl_unregister_all(PF_PHONET);
unregister_netdevice_notifier(&phonet_device_notifier);
unregister_pernet_gen_device(phonet_net_id, &phonet_net_ops);
unregister_pernet_device(&phonet_net_ops);
}

int phonet_route_add(struct net_device *dev, u8 daddr)
Expand Down

0 comments on commit d2b3eb6

Please sign in to comment.