diff options
author | Denis V. Lunev <den@openvz.org> | 2008-03-27 16:55:53 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-03-27 16:55:53 -0700 |
commit | 8eeee8b152ae6bbe181518efaf62ba8e9c613693 (patch) | |
tree | b5900762ddf2a5d03ed31da629b726c6fd6a710f /net/ipv4/netfilter/ipt_recent.c | |
parent | 920fc941a9617f95ccb283037fe6f8a38d95bb69 (diff) | |
download | kernel_samsung_smdk4412-8eeee8b152ae6bbe181518efaf62ba8e9c613693.zip kernel_samsung_smdk4412-8eeee8b152ae6bbe181518efaf62ba8e9c613693.tar.gz kernel_samsung_smdk4412-8eeee8b152ae6bbe181518efaf62ba8e9c613693.tar.bz2 |
[NETFILTER]: Replate direct proc_fops assignment with proc_create call.
This elliminates infamous race during module loading when one could lookup
proc entry without proc_fops assigned.
Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/netfilter/ipt_recent.c')
-rw-r--r-- | net/ipv4/netfilter/ipt_recent.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/net/ipv4/netfilter/ipt_recent.c b/net/ipv4/netfilter/ipt_recent.c index 8e8f042..50e0669 100644 --- a/net/ipv4/netfilter/ipt_recent.c +++ b/net/ipv4/netfilter/ipt_recent.c @@ -276,12 +276,11 @@ recent_mt_check(const char *tablename, const void *ip, for (i = 0; i < ip_list_hash_size; i++) INIT_LIST_HEAD(&t->iphash[i]); #ifdef CONFIG_PROC_FS - t->proc = create_proc_entry(t->name, ip_list_perms, proc_dir); + t->proc = proc_create(t->name, ip_list_perms, proc_dir, &recent_fops); if (t->proc == NULL) { kfree(t); goto out; } - t->proc->proc_fops = &recent_fops; t->proc->uid = ip_list_uid; t->proc->gid = ip_list_gid; t->proc->data = t; |