Commit 4d006263 authored by Al Viro's avatar Al Viro
Browse files

bluetooth: fix race in bt_procfs_init()



use proc_create_data() rather than set ->data after the file has
been created

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent b0316615
Loading
Loading
Loading
Loading
+1 −7
Original line number Diff line number Diff line
@@ -638,16 +638,10 @@ int bt_procfs_init(struct net *net, const char *name,
		   struct bt_sock_list* sk_list,
		   int (* seq_show)(struct seq_file *, void *))
{
	struct proc_dir_entry * pde;

	sk_list->custom_seq_show = seq_show;

	pde = proc_create(name, 0, net->proc_net, &bt_fops);
	if (!pde)
	if (!proc_create_data(name, 0, net->proc_net, &bt_fops, sk_list))
		return -ENOMEM;

	pde->data = sk_list;

	return 0;
}