Messages in this thread Patch in this message |  | | | Subject | [PATCH 11 of 11] mmap sems | | Date | Fri, 02 May 2008 17:05:14 +0200 | | From | Andrea Arcangeli <> |
| |
# HG changeset patch # User Andrea Arcangeli <andrea@qumranet.com> # Date 1209740229 -7200 # Node ID b4bf6df98bc00bfbef9423b0dd31cfdba63a5eeb # Parent 4f462fb3dff614cd7d971219c3feaef0b43359c1 mmap sems
This patch adds a lock ordering rule to avoid a potential deadlock when multiple mmap_sems need to be locked.
Signed-off-by: Dean Nelson <dcn@sgi.com> Signed-off-by: Andrea Arcangeli <andrea@qumranet.com>
diff --git a/mm/filemap.c b/mm/filemap.c --- a/mm/filemap.c +++ b/mm/filemap.c @@ -79,6 +79,9 @@ generic_file_direct_IO(int rw, struct ki * * ->i_mutex (generic_file_buffered_write) * ->mmap_sem (fault_in_pages_readable->do_page_fault) + * + * When taking multiple mmap_sems, one should lock the lowest-addressed + * one first proceeding on up to the highest-addressed one. * * ->i_mutex * ->i_alloc_sem (various)
|  |