diff options
author | Christian Borntraeger <borntraeger@de.ibm.com> | 2010-10-25 10:10:45 -0400 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2010-10-25 10:10:20 -0400 |
commit | e05ef9bdb899e2f3798be74691842fc597d8ce60 (patch) | |
tree | b9839fa5324735d86d4d528d7ab527649805f718 /arch/s390 | |
parent | 376ae4752e3a387d41a2ba9c9ea45c2df625e6e4 (diff) |
[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.c | 2 |
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) | |||
449 | tsk->mm = tsk->active_mm = mm; | 449 | tsk->mm = tsk->active_mm = mm; |
450 | preempt_disable(); | 450 | preempt_disable(); |
451 | update_mm(mm, tsk); | 451 | update_mm(mm, tsk); |
452 | atomic_inc(&mm->context.attach_count); | ||
453 | atomic_dec(&old_mm->context.attach_count); | ||
452 | cpumask_set_cpu(smp_processor_id(), mm_cpumask(mm)); | 454 | cpumask_set_cpu(smp_processor_id(), mm_cpumask(mm)); |
453 | preempt_enable(); | 455 | preempt_enable(); |
454 | task_unlock(tsk); | 456 | task_unlock(tsk); |