Re: [patch 4/5] mtd: Remove BKL and convert to unlocked_ioctl

From: Artem Bityutskiy
Date: Fri Oct 16 2009 - 02:46:35 EST


On Thu, 2009-10-15 at 20:28 +0000, Thomas Gleixner wrote:
> plain text document attachment
> (mtd-remove-bkl-and-convert-to-unlocked-ioctl.patch)
> mtd_open() got lock/unlock kernel from the big BKL push down, but it
> never relied on the BKL serialization as get_mtd_device() takes care
> of serialization vs. device init/teardown.
>
> mtd_ioctl() is safe w/o the BKL as well. The data which is copied from
> the mtd data structure is either set up during device initialization
> or statistics which have never been protected by the BKL against
> concurrent modification. The mtd functions which are called from
> various ioctl commands are safe as well.
>
> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx>
> Cc: linux-mtd@xxxxxxxxxxxxxxxxxxx
> ---
> drivers/mtd/mtdchar.c | 30 ++++++++----------------------
> 1 file changed, 8 insertions(+), 22 deletions(-)

[dedekind@eru l2-mtd-2.6.git]$ make -j8
CHK include/linux/version.h
CHK include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-x86
CALL scripts/checksyscalls.sh
CHK include/linux/compile.h
CC [M] drivers/mtd/mtdchar.o
drivers/mtd/mtdchar.c: In function âmtd_compat_ioctlâ:
drivers/mtd/mtdchar.c:865: warning: passing argument 1 of âmtd_ioctlâ from incompatible pointer type
drivers/mtd/mtdchar.c:444: note: expected âstruct file *â but argument is of type âstruct inode *â
drivers/mtd/mtdchar.c:865: warning: passing argument 2 of âmtd_ioctlâ makes integer from pointer without a cast
drivers/mtd/mtdchar.c:444: note: expected âu_intâ but argument is of type âstruct file *â
drivers/mtd/mtdchar.c:865: error: too many arguments to function âmtd_ioctlâ

--
Best Regards,
Artem Bityutskiy (ÐÑÑÑÐ ÐÐÑÑÑÐÐÐ)

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