In article
<Mutt.LNX.4.44.0307010048540.24506-100000@xxxxxxxxxxxxxxxxxxxxxxxxxx> (at Tue,
1 Jul 2003 00:49:52 +1000 (EST)), James Morris <jmorris@xxxxxxxxxxxxxxxx> says:
> On Mon, 30 Jun 2003, YOSHIFUJI Hideaki / [iso-2022-jp] 吉藤英明 wrote:
>
> > In article <20030629.015723.75141662.yoshfuji@xxxxxxxxxxxxxx> (at Sun, 29
> > Jun 2003 01:57:23 +0900 (JST)), YOSHIFUJI Hideaki / 吉藤英明
> > <yoshfuji@xxxxxxxxxxxxxx> says:
> >
> > > This converts /proc/net/ip6_flowlabel to seq_file{}.
> > > Thanks.
> >
> > Oops, this was buggy. Here's fixed one...
> >
>
> This has already been pushed to Dave's tree. Could you please generate a
> diff against bk://kernel.bkbits.net/jmorris/net-2.5?
Here it is.
===== net/ipv6/ip6_flowlabel.c 1.3 vs edited =====
--- 1.3/net/ipv6/ip6_flowlabel.c Sun Jun 29 19:39:57 2003
+++ edited/net/ipv6/ip6_flowlabel.c Tue Jul 1 00:00:57 2003
@@ -657,7 +657,25 @@
static int ip6fl_seq_open(struct inode *inode, struct file *file)
{
- return seq_open(file, &ip6fl_seq_ops);
+ struct seq_file *seq;
+ int rc = -ENOMEM;
+ struct ip6fl_iter_state *s = kmalloc(sizeof(*s), GFP_KERNEL);
+
+ if (!s)
+ goto out;
+
+ rc = seq_open(file, &ip6fl_seq_ops);
+ if (rc)
+ goto out_kfree;
+
+ seq = file->private_data;
+ seq->private = s;
+ memset(s, 0, sizeof(*s));
+out:
+ return rc;
+out_kfree:
+ kfree(s);
+ goto out;
}
static struct file_operations ip6fl_seq_fops = {
@@ -665,7 +683,7 @@
.open = ip6fl_seq_open,
.read = seq_read,
.llseek = seq_lseek,
- .release = seq_release,
+ .release = seq_release_private,
};
#endif
--
Hideaki YOSHIFUJI @ USAGI Project <yoshfuji@xxxxxxxxxxxxxx>
GPG FP: 9022 65EB 1ECF 3AD1 0BDF 80D8 4807 F894 E062 0EEA
|