|
@@ -44,7 +44,9 @@ int init_new_context(struct task_struct *tsk, struct mm_struct *mm)
|
|
|
return err;
|
|
return err;
|
|
|
|
|
|
|
|
if (index > MAX_CONTEXT) {
|
|
if (index > MAX_CONTEXT) {
|
|
|
|
|
+ spin_lock(&mmu_context_lock);
|
|
|
idr_remove(&mmu_context_idr, index);
|
|
idr_remove(&mmu_context_idr, index);
|
|
|
|
|
+ spin_unlock(&mmu_context_lock);
|
|
|
return -ENOMEM;
|
|
return -ENOMEM;
|
|
|
}
|
|
}
|
|
|
|
|
|