Skip to content

Commit

Permalink
[ATM]: When proc_create() fails, do some error handling work and retu…
Browse files Browse the repository at this point in the history
…rn -ENOMEM.

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Wang Chen authored and David S. Miller committed Mar 24, 2008
1 parent da990a2 commit dbee0d3
Showing 2 changed files with 20 additions and 3 deletions.
19 changes: 16 additions & 3 deletions net/atm/clip.c
Original file line number Diff line number Diff line change
@@ -947,6 +947,8 @@ static const struct file_operations arp_seq_fops = {
};
#endif

static void atm_clip_exit_noproc(void);

static int __init atm_clip_init(void)
{
neigh_table_init_no_netlink(&clip_tbl);
@@ -963,18 +965,22 @@ static int __init atm_clip_init(void)
struct proc_dir_entry *p;

p = proc_create("arp", S_IRUGO, atm_proc_root, &arp_seq_fops);
if (!p) {
printk(KERN_ERR "Unable to initialize "
"/proc/net/atm/arp\n");
atm_clip_exit_noproc();
return -ENOMEM;
}
}
#endif

return 0;
}

static void __exit atm_clip_exit(void)
static void atm_clip_exit_noproc(void)
{
struct net_device *dev, *next;

remove_proc_entry("arp", atm_proc_root);

unregister_inetaddr_notifier(&clip_inet_notifier);
unregister_netdevice_notifier(&clip_dev_notifier);

@@ -1005,6 +1011,13 @@ static void __exit atm_clip_exit(void)
clip_tbl_hook = NULL;
}

static void __exit atm_clip_exit(void)
{
remove_proc_entry("arp", atm_proc_root);

atm_clip_exit_noproc();
}

module_init(atm_clip_init);
module_exit(atm_clip_exit);
MODULE_AUTHOR("Werner Almesberger");
4 changes: 4 additions & 0 deletions net/atm/lec.c
Original file line number Diff line number Diff line change
@@ -1250,6 +1250,10 @@ static int __init lane_module_init(void)
struct proc_dir_entry *p;

p = proc_create("lec", S_IRUGO, atm_proc_root, &lec_seq_fops);
if (!p) {
printk(KERN_ERR "Unable to initialize /proc/net/atm/lec\n");
return -ENOMEM;
}
#endif

register_atm_ioctl(&lane_ioctl_ops);

0 comments on commit dbee0d3

Please sign in to comment.