From: Julia Lawall Date: Sun, 20 Jun 2010 11:24:54 +0000 (+0000) Subject: arch/sh/mm: Eliminate a double lock X-Git-Tag: v2.6.35-rc4~56^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0e6f989ba83e6fa64e979d3488f01670b8be7959;p=profile%2Fivi%2Fkernel-adaptation-intel-automotive.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 18623ba..6379091 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