Messages in this thread | | | Date | Wed, 5 Mar 2014 15:38:00 +0100 | From | Oleg Nesterov <> | Subject | Re: [RFC] [PATCH] Pre-emption control for userspace |
| |
On 03/04, Khalid Aziz wrote: > > On 03/04/2014 12:03 PM, Oleg Nesterov wrote: >> >> 1. mremap() can move this vma, so do_exit() can't trust ->uaddr >> >> 2. Even worse, mremap() itself is not safe. It can do ->close() >> too and create the new vma with the same vm_ops. Another >> unmap from (say) exit_mm() won't be happy. > > I agree this looks like a potential spot for trouble. I was asking if > removing sys_munmap() of uaddr from do_exit() solves both of the above > problems?
How? Of course this won't solve the problems. And there are more problems.
> You have convinced me this sys_munmap() I added is unnecessary.
Cough ;) I didn't try to convince you that it should be removed. It is necessary (but of course you should not use sys_munmap(), say vm_munmap is better.
But you know, I think this all doesn't matter. Imho, this proc/mmap interface is horrible. Perhaps something like tls area visible to kernel make sense, but it should be more generic at least.
You added /proc/sched_preempt_delay to avoid the syscall. I think it would be better to simply add vdso_sched_preempt_delay() instead.
But the main problem, of course, is that this feature is questionable.
Oleg.
| |