diff options
Diffstat (limited to 'net/decnet')
-rw-r--r-- | net/decnet/af_decnet.c | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/net/decnet/af_decnet.c b/net/decnet/af_decnet.c index acd48ee522d6..23fd95a7ad15 100644 --- a/net/decnet/af_decnet.c +++ b/net/decnet/af_decnet.c | |||
@@ -2320,25 +2320,8 @@ static const struct seq_operations dn_socket_seq_ops = { | |||
2320 | 2320 | ||
2321 | static int dn_socket_seq_open(struct inode *inode, struct file *file) | 2321 | static int dn_socket_seq_open(struct inode *inode, struct file *file) |
2322 | { | 2322 | { |
2323 | struct seq_file *seq; | 2323 | return seq_open_private(file, &dn_socket_seq_ops, |
2324 | int rc = -ENOMEM; | 2324 | sizeof(struct dn_iter_state)); |
2325 | struct dn_iter_state *s = kmalloc(sizeof(*s), GFP_KERNEL); | ||
2326 | |||
2327 | if (!s) | ||
2328 | goto out; | ||
2329 | |||
2330 | rc = seq_open(file, &dn_socket_seq_ops); | ||
2331 | if (rc) | ||
2332 | goto out_kfree; | ||
2333 | |||
2334 | seq = file->private_data; | ||
2335 | seq->private = s; | ||
2336 | memset(s, 0, sizeof(*s)); | ||
2337 | out: | ||
2338 | return rc; | ||
2339 | out_kfree: | ||
2340 | kfree(s); | ||
2341 | goto out; | ||
2342 | } | 2325 | } |
2343 | 2326 | ||
2344 | static const struct file_operations dn_socket_seq_fops = { | 2327 | static const struct file_operations dn_socket_seq_fops = { |