mmap/MAP_SHARED and mandatory flock

Kanoj Sarcar (kanoj@google.engr.sgi.com)
Wed, 23 Jun 1999 11:12:30 -0700 (PDT)


It seems to me that the mmap/MAP_SHARED locks_verify_locked() check
and fcntl_setlk() have no synchronization. For example, a process
invoking fcntl_setlk on a IS_MANDLOCK inode can check that it has
no i_mmap vma list, then go on and sleep later before queueing a
file_lock on the inode i_flock. Subsequently, an mmaper can come
in, invoke locks_verify_locked(), see no file_lock on the inode
i_flock, and succeed. The file locker can then wake up and also
return success.

Am I missing some synchronization lock/algorithm?

Kanoj
kanoj@engr.sgi.com

-
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/