summaryrefslogtreecommitdiffstats
path: root/arch/s390
diff options
context:
space:
mode:
authorChristian Borntraeger <borntraeger@de.ibm.com>2010-10-25 16:10:45 +0200
committerMartin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com>2010-10-25 16:10:20 +0200
commite05ef9bdb899e2f3798be74691842fc597d8ce60 (patch)
treeb9839fa5324735d86d4d528d7ab527649805f718 /arch/s390
parent376ae4752e3a387d41a2ba9c9ea45c2df625e6e4 (diff)
downloadlinux-e05ef9bdb899e2f3798be74691842fc597d8ce60.tar.gz
linux-e05ef9bdb899e2f3798be74691842fc597d8ce60.tar.bz2
linux-e05ef9bdb899e2f3798be74691842fc597d8ce60.zip
[S390] kvm: Fix badness at include/asm/mmu_context.h:83
commit 050eef364ad700590a605a0749f825cab4834b1e [S390] fix tlb flushing vs. concurrent /proc accesses broke KVM on s390x. On every schedule a Badness at include/asm/mmu_context.h:83 appears. s390_enable_sie replaces the mm on the __running__ task, therefore, we have to increase the attach count of the new mm. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390')
-rw-r--r--arch/s390/mm/pgtable.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/s390/mm/pgtable.c b/arch/s390/mm/pgtable.c
index 19338d228c9b..0c719c61972e 100644
--- a/arch/s390/mm/pgtable.c
+++ b/arch/s390/mm/pgtable.c
@@ -449,6 +449,8 @@ int s390_enable_sie(void)
tsk->mm = tsk->active_mm = mm;
preempt_disable();
update_mm(mm, tsk);
+ atomic_inc(&mm->context.attach_count);
+ atomic_dec(&old_mm->context.attach_count);
cpumask_set_cpu(smp_processor_id(), mm_cpumask(mm));
preempt_enable();
task_unlock(tsk);