Messages in this thread | | | Date | Thu, 18 Mar 1999 17:15:25 GMT | From | "Stephen C. Tweedie" <> | Subject | Re: [patch] /proc race fixes [Re: sleeping while holding a rwspinlock?] |
| |
Hi,
On Sun, 14 Mar 1999 20:02:40 +0100 (CET), Andrea Arcangeli <andrea@e-mind.com> said:
> I think to have just fixed _safely_ all races of array.c at 2.2.0 time. > They all are in my arca-tree patches from ages. I don't know if Linus > wants to add them to the stock kernel.
You reinstate the down(&mm->mmap_sem). That was removed after 2.2.0 for a very good reason: it basically makes proc unusable under heavy load. This is bad. Also,
> +static void release_mm(struct mm_struct *mm) > { > + if (current->mm != mm) > + { > + up(&mm->mmap_sem); > + mmput(mm); > + } > +}
looks broken: the condition for releasing the mm is different from the condition for grabbing it in the first place.
However, my biggest grumble is the one which I have every time I see your patches go past: you have presented a whole pile of diffs without describing what problem you think you have addressed. What races do you believe are in array.c as it stands in 2.2.3? What compelling reasons do you have for reintroducing the horrendous mmap semaphore locking?
--Stephen
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |