KVM: Fix leak vCPU's VMCS value into other pCPU
[linux-2.6-block.git] / fs / proc / task_nommu.c
index 36bf0f2e102e7811d8e8b6bee41a64cb64b65930..7907e6419e5726702b0cd8eac2d57a5bd48306f8 100644 (file)
@@ -211,7 +211,11 @@ static void *m_start(struct seq_file *m, loff_t *pos)
        if (!mm || !mmget_not_zero(mm))
                return NULL;
 
-       down_read(&mm->mmap_sem);
+       if (down_read_killable(&mm->mmap_sem)) {
+               mmput(mm);
+               return ERR_PTR(-EINTR);
+       }
+
        /* start from the Nth VMA */
        for (p = rb_first(&mm->mm_rb); p; p = rb_next(p))
                if (n-- == 0)