Re: [PATCH 5/6] procfs: Push down the bkl from ioctl

From: Frederic Weisbecker
Date: Tue Mar 30 2010 - 03:03:01 EST


On Tue, Mar 30, 2010 at 09:31:33AM +0300, Alexey Dobriyan wrote:
> On Tue, Mar 30, 2010 at 9:20 AM, Frederic Weisbecker <fweisbec@xxxxxxxxx> wrote:
>
> > --- a/net/sunrpc/cache.c
> > +++ b/net/sunrpc/cache.c
> > @@ -1331,12 +1331,22 @@ static unsigned int cache_poll_procfs(struct file *filp, poll_table *wait)
> >        return cache_poll(filp, wait, cd);
> >  }
> >
> > -static int cache_ioctl_procfs(struct inode *inode, struct file *filp,
> > -                             unsigned int cmd, unsigned long arg)
> > +static long cache_ioctl_procfs(struct file *filp,
> > +                              unsigned int cmd, unsigned long arg)
> >  {
> > -       struct cache_detail *cd = PDE(inode)->data;
> > +       long ret;
> > +       struct cache_detail *cd;
> > +       struct inode *inode = filp->f_path.dentry->d_inode;
> >
> > -       return cache_ioctl(inode, filp, cmd, arg, cd);
> > +       /* Pushed down from procfs ioctl handler */
> > +       lock_kernel();
> > +
> > +       cd = PDE(inode)->data;
>
> ->data is not under BKL at all.



Yeah. It's a very rough pushdown, I haven't looked at any bit to figure
out what could need to be protected or not. I even did not know what does
PDE. So I kept a plain bkl path. I just thought any further thinking should
be done in a further patch.

But I can move the bkl after in this same patch if you prefer.

Thanks.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/