diff options
Diffstat (limited to 'net/atm')
-rw-r--r-- | net/atm/clip.c | 6 | ||||
-rw-r--r-- | net/atm/lec.c | 37 | ||||
-rw-r--r-- | net/atm/mpc.c | 2 | ||||
-rw-r--r-- | net/atm/proc.c | 48 | ||||
-rw-r--r-- | net/atm/resources.c | 5 | ||||
-rw-r--r-- | net/atm/svc.c | 2 |
6 files changed, 27 insertions, 73 deletions
diff --git a/net/atm/clip.c b/net/atm/clip.c index 2ab1e36098fd..6f8223ebf551 100644 --- a/net/atm/clip.c +++ b/net/atm/clip.c @@ -612,7 +612,7 @@ static int clip_device_event(struct notifier_block *this, unsigned long event, { struct net_device *dev = arg; - if (dev->nd_net != &init_net) + if (dev_net(dev) != &init_net) return NOTIFY_DONE; if (event == NETDEV_UNREGISTER) { @@ -648,10 +648,6 @@ static int clip_inet_event(struct notifier_block *this, unsigned long event, struct in_device *in_dev; in_dev = ((struct in_ifaddr *)ifa)->ifa_dev; - if (!in_dev || !in_dev->dev) { - printk(KERN_WARNING "clip_inet_event: no device\n"); - return NOTIFY_DONE; - } /* * Transitions are of the down-change-up type, so it's sufficient to * handle the change on up. diff --git a/net/atm/lec.c b/net/atm/lec.c index 3235c57615e4..653aca3573ac 100644 --- a/net/atm/lec.c +++ b/net/atm/lec.c @@ -1023,7 +1023,7 @@ static void *lec_tbl_walk(struct lec_state *state, struct hlist_head *tbl, if (!e) e = tbl->first; - if (e == (void *)1) { + if (e == SEQ_START_TOKEN) { e = tbl->first; --*l; } @@ -1125,9 +1125,9 @@ static void *lec_seq_start(struct seq_file *seq, loff_t *pos) state->locked = NULL; state->arp_table = 0; state->misc_table = 0; - state->node = (void *)1; + state->node = SEQ_START_TOKEN; - return *pos ? lec_get_idx(state, *pos) : (void *)1; + return *pos ? lec_get_idx(state, *pos) : SEQ_START_TOKEN; } static void lec_seq_stop(struct seq_file *seq, void *v) @@ -1156,7 +1156,7 @@ static int lec_seq_show(struct seq_file *seq, void *v) " Status Flags " "VPI/VCI Recv VPI/VCI\n"; - if (v == (void *)1) + if (v == SEQ_START_TOKEN) seq_puts(seq, lec_banner); else { struct lec_state *state = seq->private; @@ -1178,32 +1178,7 @@ static const struct seq_operations lec_seq_ops = { static int lec_seq_open(struct inode *inode, struct file *file) { - struct lec_state *state; - struct seq_file *seq; - int rc = -EAGAIN; - - state = kmalloc(sizeof(*state), GFP_KERNEL); - if (!state) { - rc = -ENOMEM; - goto out; - } - - rc = seq_open(file, &lec_seq_ops); - if (rc) - goto out_kfree; - seq = file->private_data; - seq->private = state; -out: - return rc; - -out_kfree: - kfree(state); - goto out; -} - -static int lec_seq_release(struct inode *inode, struct file *file) -{ - return seq_release_private(inode, file); + return seq_open_private(file, &lec_seq_ops, sizeof(struct lec_state)); } static const struct file_operations lec_seq_fops = { @@ -1211,7 +1186,7 @@ static const struct file_operations lec_seq_fops = { .open = lec_seq_open, .read = seq_read, .llseek = seq_lseek, - .release = lec_seq_release, + .release = seq_release_private, }; #endif diff --git a/net/atm/mpc.c b/net/atm/mpc.c index 9c7f712fc7e9..9db332e7a6c0 100644 --- a/net/atm/mpc.c +++ b/net/atm/mpc.c @@ -964,7 +964,7 @@ static int mpoa_event_listener(struct notifier_block *mpoa_notifier, unsigned lo dev = (struct net_device *)dev_ptr; - if (dev->nd_net != &init_net) + if (dev_net(dev) != &init_net) return NOTIFY_DONE; if (dev->name == NULL || strncmp(dev->name, "lec", 3)) diff --git a/net/atm/proc.c b/net/atm/proc.c index e9693aed7ef8..5c9f3d148135 100644 --- a/net/atm/proc.c +++ b/net/atm/proc.c @@ -78,7 +78,7 @@ static int __vcc_walk(struct sock **sock, int family, int *bucket, loff_t l) { struct sock *sk = *sock; - if (sk == (void *)1) { + if (sk == SEQ_START_TOKEN) { for (*bucket = 0; *bucket < VCC_HTABLE_SIZE; ++*bucket) { struct hlist_head *head = &vcc_hash[*bucket]; @@ -98,7 +98,7 @@ try_again: sk = sk_head(&vcc_hash[*bucket]); goto try_again; } - sk = (void *)1; + sk = SEQ_START_TOKEN; out: *sock = sk; return (l < 0); @@ -114,31 +114,13 @@ static int __vcc_seq_open(struct inode *inode, struct file *file, int family, const struct seq_operations *ops) { struct vcc_state *state; - struct seq_file *seq; - int rc = -ENOMEM; - state = kmalloc(sizeof(*state), GFP_KERNEL); - if (!state) - goto out; - - rc = seq_open(file, ops); - if (rc) - goto out_kfree; + state = __seq_open_private(file, ops, sizeof(*state)); + if (state == NULL) + return -ENOMEM; state->family = family; - - seq = file->private_data; - seq->private = state; -out: - return rc; -out_kfree: - kfree(state); - goto out; -} - -static int vcc_seq_release(struct inode *inode, struct file *file) -{ - return seq_release_private(inode, file); + return 0; } static void *vcc_seq_start(struct seq_file *seq, loff_t *pos) @@ -148,8 +130,8 @@ static void *vcc_seq_start(struct seq_file *seq, loff_t *pos) loff_t left = *pos; read_lock(&vcc_sklist_lock); - state->sk = (void *)1; - return left ? vcc_walk(state, left) : (void *)1; + state->sk = SEQ_START_TOKEN; + return left ? vcc_walk(state, left) : SEQ_START_TOKEN; } static void vcc_seq_stop(struct seq_file *seq, void *v) @@ -253,7 +235,7 @@ static int atm_dev_seq_show(struct seq_file *seq, void *v) "Itf Type ESI/\"MAC\"addr " "AAL(TX,err,RX,err,drop) ... [refcnt]\n"; - if (v == (void *)1) + if (v == SEQ_START_TOKEN) seq_puts(seq, atm_dev_banner); else { struct atm_dev *dev = list_entry(v, struct atm_dev, dev_list); @@ -287,7 +269,7 @@ static int pvc_seq_show(struct seq_file *seq, void *v) static char atm_pvc_banner[] = "Itf VPI VCI AAL RX(PCR,Class) TX(PCR,Class)\n"; - if (v == (void *)1) + if (v == SEQ_START_TOKEN) seq_puts(seq, atm_pvc_banner); else { struct vcc_state *state = seq->private; @@ -314,12 +296,12 @@ static const struct file_operations pvc_seq_fops = { .open = pvc_seq_open, .read = seq_read, .llseek = seq_lseek, - .release = vcc_seq_release, + .release = seq_release_private, }; static int vcc_seq_show(struct seq_file *seq, void *v) { - if (v == (void *)1) { + if (v == SEQ_START_TOKEN) { seq_printf(seq, sizeof(void *) == 4 ? "%-8s%s" : "%-16s%s", "Address ", "Itf VPI VCI Fam Flags Reply " "Send buffer Recv buffer [refcnt]\n"); @@ -348,7 +330,7 @@ static const struct file_operations vcc_seq_fops = { .open = vcc_seq_open, .read = seq_read, .llseek = seq_lseek, - .release = vcc_seq_release, + .release = seq_release_private, }; static int svc_seq_show(struct seq_file *seq, void *v) @@ -356,7 +338,7 @@ static int svc_seq_show(struct seq_file *seq, void *v) static char atm_svc_banner[] = "Itf VPI VCI State Remote\n"; - if (v == (void *)1) + if (v == SEQ_START_TOKEN) seq_puts(seq, atm_svc_banner); else { struct vcc_state *state = seq->private; @@ -383,7 +365,7 @@ static const struct file_operations svc_seq_fops = { .open = svc_seq_open, .read = seq_read, .llseek = seq_lseek, - .release = vcc_seq_release, + .release = seq_release_private, }; static ssize_t proc_dev_atm_read(struct file *file, char __user *buf, diff --git a/net/atm/resources.c b/net/atm/resources.c index 1bcf6dc8d409..a34ba948af96 100644 --- a/net/atm/resources.c +++ b/net/atm/resources.c @@ -415,7 +415,7 @@ static __inline__ void *dev_get_idx(loff_t left) void *atm_dev_seq_start(struct seq_file *seq, loff_t *pos) { mutex_lock(&atm_dev_mutex); - return *pos ? dev_get_idx(*pos) : (void *) 1; + return *pos ? dev_get_idx(*pos) : SEQ_START_TOKEN; } void atm_dev_seq_stop(struct seq_file *seq, void *v) @@ -426,7 +426,8 @@ void atm_dev_seq_stop(struct seq_file *seq, void *v) void *atm_dev_seq_next(struct seq_file *seq, void *v, loff_t *pos) { ++*pos; - v = (v == (void *)1) ? atm_devs.next : ((struct list_head *)v)->next; + v = (v == SEQ_START_TOKEN) + ? atm_devs.next : ((struct list_head *)v)->next; return (v == &atm_devs) ? NULL : v; } diff --git a/net/atm/svc.c b/net/atm/svc.c index daf9a48a7db0..de1e4f2f3a43 100644 --- a/net/atm/svc.c +++ b/net/atm/svc.c @@ -326,7 +326,7 @@ static int svc_accept(struct socket *sock,struct socket *newsock,int flags) lock_sock(sk); - error = svc_create(sk->sk_net, newsock,0); + error = svc_create(sock_net(sk), newsock,0); if (error) goto out; |