1
linux/arch/sh
Julia Lawall 0e6f989ba8 arch/sh/mm: Eliminate a double lock
The function begins and ends with a read_lock.  The latter is changed to a
read_unlock.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
@locked@
expression E1;
position p;
@@

read_lock(E1@p,...);

@r exists@
expression x <= locked.E1;
expression locked.E1;
expression E2;
identifier lock;
position locked.p,p1,p2;
@@

*lock@p1 (E1@p,...);
... when != E1
    when != \(x = E2\|&x\)
*lock@p2 (E1,...);
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: Matt Fleming <matt@console-pimps.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-06-21 13:46:53 +09:00
..
boards sh: remove duplicated #include 2010-06-07 11:38:54 +09:00
boot Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2010-06-04 15:42:09 -07:00
cchips sh: Fix up hp6xx build. 2010-02-05 17:45:14 +09:00
configs sh: fix up sh7785lcr_32bit_defconfig. 2010-05-24 08:33:53 +09:00
drivers sh: Fix up IORESOURCE_PCI_FIXED usage in pcibios_fixup_device_resources(). 2010-06-07 11:42:01 +09:00
include Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2010-06-04 15:42:09 -07:00
kernel Merge branch 'sh/iomap' 2010-06-02 16:32:12 +09:00
lib arch/sh/lib/strlen.S: Checkpatch cleanup 2010-05-24 08:11:07 +09:00
lib64
math-emu Revert "endian: #define __BYTE_ORDER" 2010-05-26 08:30:15 -07:00
mm arch/sh/mm: Eliminate a double lock 2010-06-21 13:46:53 +09:00
oprofile sh: oprofile: Fix up count size mismatch for common impl. 2009-11-05 17:13:15 +09:00
tools Merge branch 'sh/stable-updates' 2010-01-18 20:47:37 +09:00
Kconfig Merge branch 'sh/iomap' 2010-06-02 16:32:12 +09:00
Kconfig.cpu sh: Turn on speculative return for SH7785 and SH7786 2010-02-18 18:54:18 +09:00
Kconfig.debug sh: Remove old early serial console code V2 2009-12-15 12:07:35 +09:00
Makefile sh: mach-sdk7786: update defconfig for compressed kernel image. 2010-04-26 17:45:34 +09:00