Re: linux-next: manual merge of the bkl-ioctl tree with thebkl-procfs tree

From: Frederic Weisbecker
Date: Tue Apr 27 2010 - 01:18:50 EST


On Tue, Apr 27, 2010 at 03:06:36PM +1000, Stephen Rothwell wrote:
> Hi Frédéric,
>
> Today's linux-next merge of the bkl-ioctl tree got a conflict in
> fs/proc/inode.c between commit 3ab8dfb0802f33741cc4afa6adf7cb30b1cd1761
> ("procfs: Kill the bkl in ioctl") from the bkl-procfs tree and commit
> 1dd97d3d546aa14db7efa5366b21d1336b91379e ("Rename 'struct
> file_operations' 'ioctl' fn pointer to 'bkl_ioctl'") from the bkl-ioctl
> tree.
>
> I fixed it up (see below - probably not optimal) and can carry the fix as
> necessary.
> --
> Cheers,
> Stephen Rothwell sfr@xxxxxxxxxxxxxxxx
>
> diff --cc fs/proc/inode.c
> index aea8502,8e8f813..0000000
> --- a/fs/proc/inode.c
> +++ b/fs/proc/inode.c
> @@@ -231,10 -231,10 +231,10 @@@ static long proc_reg_unlocked_ioctl(str
> rv = unlocked_ioctl(file, cmd, arg);
> if (rv == -ENOIOCTLCMD)
> rv = -EINVAL;
> - } else if (ioctl) {
> + } else if (bkl_ioctl) {
> - lock_kernel();
> + WARN_ONCE(1, "Procfs ioctl handlers must use unlocked_ioctl, "
> + "%pf will be called without the Bkl held\n", bkl_ioctl);
> - rv = ioctl(file->f_path.dentry->d_inode, file, cmd, arg);
> + rv = bkl_ioctl(file->f_path.dentry->d_inode, file, cmd, arg);
> - unlock_kernel();
> }
>
> pde_users_dec(pde);


Thanks, looks like the right fix!

--
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/