From: Gary King Date: Thu, 29 Jul 2010 16:37:20 +0000 (+0100) Subject: ARM: 6279/1: highmem: fix SMP preemption bug in kmap_high_l1_vipt X-Git-Tag: v2.6.35~2^2~4 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=831e8047eb2af310184a9d4d9e749f3de119ae39;p=pandora-kernel.git ARM: 6279/1: highmem: fix SMP preemption bug in kmap_high_l1_vipt smp_processor_id() must not be called from a preemptible context (this is checked by CONFIG_DEBUG_PREEMPT). kmap_high_l1_vipt() was doing so. This lead to a problem where the wrong per_cpu kmap_high_l1_vipt_depth could be incremented, causing a BUG_ON(*depth <= 0); in kunmap_high_l1_vipt(). The solution is to move the call to smp_processor_id() after the call to preempt_disable(). Originally by: Andrew Howe Signed-off-by: Gary King Acked-by: Nicolas Pitre Signed-off-by: Russell King --- Reading git-diff-tree failed