2000-12-07 17:04:25

by Ulrich Weigand

[permalink] [raw]
Subject: bug: merge_segments vs. lock_vma_mappings?



Hello,

since test11, the merge_segments() routine assumes that every
VMA that it frees has been locked with lock_vma_mappings().

While most callers have been adapted to perform this locking,
at least two, do_mlock and sys_mprotect, do *not* currently.
This causes a deadlock in certain situations.

What's the correct way to fix this? In mlock and mprotect,
potentially many segments could be freed; do we need to
call lock_vma_mappings on all of them before calling
merge_segments?


Mit freundlichen Gruessen / Best Regards

Ulrich Weigand

--
Dr. Ulrich Weigand
Linux for S/390 Design & Development
IBM Deutschland Entwicklung GmbH, Schoenaicher Str. 220, 71032 Boeblingen
Phone: +49-7031/16-3727 --- Email: [email protected]