diff -Naur linux-2.6.8-gentoo-r3/drivers/video/vesafb-thread.c linux-2.6.8-gentoo-r3-smp/drivers/video/vesafb-thread.c --- linux-2.6.8-gentoo-r3/drivers/video/vesafb-thread.c 2004-09-05 19:44:10.000000000 +0200 +++ linux-2.6.8-gentoo-r3-smp/drivers/video/vesafb-thread.c 2004-09-05 19:30:30.000000000 +0200 @@ -504,6 +504,7 @@ { struct vm_area_struct vma; struct page *page; + cpumask_t cpu_tmp; int ret, err = 0; void *mem; @@ -523,8 +524,8 @@ } #ifdef CONFIG_SMP - cpus_clear(current->active_mm->cpu_vm_mask); - cpu_set(smp_processor_id(), current->active_mm->cpu_vm_mask); + cpus_and(cpu_tmp, current->active_mm->cpu_vm_mask, cpu_online_map); + current->active_mm->cpu_vm_mask = cpu_tmp; #endif vma.vm_mm = current->active_mm;