/* When a network namespace is destroyed all of the exit methods are called in the reverse of the order with which they were registered.  */
int register_pernet_device(struct pernet_operations *ops)
/* When a network namespace is destroyed all of the exit methods are called in the reverse of the order with which they were registered.  */
int register_pernet_device(struct pernet_operations *ops)
{
	int error;
	mutex_lock(&net_mutex);
	error = register_pernet_operations(&pernet_list, ops);
	if (!error && (first_device == &pernet_list))
		first_device = &ops->list;
	mutex_unlock(&net_mutex);
	return error;
}