From: Julia Lawall Date: Sun, 20 Jun 2010 11:24:54 +0000 (+0000) Subject: arch/sh/mm: Eliminate a double lock X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=0e6f989ba83e6fa64e979d3488f01670b8be7959;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git 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/) // @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,...); // Signed-off-by: Julia Lawall Acked-by: Matt Fleming Signed-off-by: Paul Mundt --- diff --git a/arch/sh/mm/pmb.c b/arch/sh/mm/pmb.c index 18623ba751b3..6379091a1647 100644 --- a/arch/sh/mm/pmb.c +++ b/arch/sh/mm/pmb.c @@ -770,7 +770,7 @@ static void __init pmb_resize(void) spin_unlock_irqrestore(&pmbe->lock, flags); } - read_lock(&pmb_rwlock); + read_unlock(&pmb_rwlock); } #endif