1
linux/arch/sh/mm
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
..
alignment.c sh: wire up SET/GET_UNALIGN_CTL. 2010-02-23 12:56:30 +09:00
asids-debugfs.c sh: Update debugfs ASID dumping for 16-bit ASID support. 2009-03-17 17:59:31 +09:00
cache-debugfs.c sh: Mass ctrl_in/outX to __raw_read/writeX conversion. 2010-01-26 12:58:40 +09:00
cache-sh2.c sh: Mass ctrl_in/outX to __raw_read/writeX conversion. 2010-01-26 12:58:40 +09:00
cache-sh2a.c sh: Mass ctrl_in/outX to __raw_read/writeX conversion. 2010-01-26 12:58:40 +09:00
cache-sh3.c sh: Mass ctrl_in/outX to __raw_read/writeX conversion. 2010-01-26 12:58:40 +09:00
cache-sh4.c sh: Mass ctrl_in/outX to __raw_read/writeX conversion. 2010-01-26 12:58:40 +09:00
cache-sh5.c sh64: Fix up reworked cache op build. 2009-11-12 17:03:28 +09:00
cache-sh7705.c sh: Mass ctrl_in/outX to __raw_read/writeX conversion. 2010-01-26 12:58:40 +09:00
cache-shx3.c sh: Zero out aliases counter when using SH-X3 hardware assistance. 2010-04-20 15:37:23 +09:00
cache.c sh: Enable SH-X3 hardware synonym avoidance handling. 2010-04-19 17:27:17 +09:00
consistent.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
extable_32.c
extable_64.c sh: comment tidying for sh64->sh migration. 2008-01-28 13:18:58 +09:00
fault_32.c sh: Kill off dangling goto labels from oom-killer rework. 2010-04-26 16:15:17 +09:00
fault_64.c sh: Tidy up NEFF-based sign extension for SH-5. 2009-08-04 17:14:39 +09:00
flush-sh4.c sh: Fix up the SH-5 build with caches enabled. 2009-08-16 01:50:17 +09:00
hugetlbpage.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
init.c sh: fix up CONFIG_KEXEC=n build. 2010-05-18 14:53:23 +09:00
ioremap_fixed.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ioremap.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
Kconfig sh: Merge legacy and dynamic PMB modes. 2010-02-18 18:13:51 +09:00
kmap.c sh: Factor in cpu id for selection of cache colour fixmap. 2009-09-09 17:14:19 +09:00
Makefile sh: Enable SH-X3 hardware synonym avoidance handling. 2010-04-19 17:27:17 +09:00
mmap.c fix broken aliasing checks for MAP_FIXED on sparc32, mips, arm and sh 2009-12-11 06:44:59 -05:00
nommu.c sh: Fix up nommu build for out-of-line pgtable changes. 2010-01-06 14:45:14 +09:00
numa.c sh: Fix up the NUMA build for recent LMB changes. 2010-05-18 18:15:44 +09:00
pgtable.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pmb.c arch/sh/mm: Eliminate a double lock 2010-06-21 13:46:53 +09:00
tlb-debugfs.c sh: tlb debugfs support. 2010-03-29 15:24:54 +09:00
tlb-pteaex.c sh: Fix up the SH-3 build for recent TLB changes. 2010-04-02 16:13:27 +09:00
tlb-sh3.c sh: Fix up the SH-3 build for recent TLB changes. 2010-04-02 16:13:27 +09:00
tlb-sh4.c sh: Fix up the SH-3 build for recent TLB changes. 2010-04-02 16:13:27 +09:00
tlb-sh5.c sh: Split out MMUCR.URB based entry wiring in to shared helper. 2010-01-19 15:20:35 +09:00
tlb-urb.c sh: update the TLB replacement counter for entry wiring. 2010-03-26 11:37:16 +09:00
tlbflush_32.c sh: Fix up the SH-3 build for recent TLB changes. 2010-04-02 16:13:27 +09:00
tlbflush_64.c sh: Kill off dangling goto labels from oom-killer rework. 2010-04-26 16:15:17 +09:00
uncached.c sh: Export uncached helper symbols. 2010-03-10 16:46:58 +09:00