diff options
author | julian <julian@FreeBSD.org> | 1999-03-12 03:09:29 +0000 |
---|---|---|
committer | julian <julian@FreeBSD.org> | 1999-03-12 03:09:29 +0000 |
commit | 35ed86543837074d1d29e42be3c5833e7d86259a (patch) | |
tree | fd711020444efce3db2a73b8041ad8a741f93dfe /lib/libkvm/kvm_sparc.c | |
parent | f27c95753fda68261265d744a5d8a9e59144d460 (diff) | |
download | FreeBSD-src-35ed86543837074d1d29e42be3c5833e7d86259a.zip FreeBSD-src-35ed86543837074d1d29e42be3c5833e7d86259a.tar.gz |
This solves a deadlock that can occur when read()ing into a file-mmap()
space. When doing this, it is possible to for another process to attempt
to get an exclusive lock on the vnode and deadlock the mmap/read
combination when the uiomove() call tries to obtain a second
shared lock on the vnode. There is still a potential deadlock
situation with write()/mmap().
Submitted by: Matt Dillon <dillon@freebsd.org>
Reviewed by: Luoqi Chen <luoqi@freebsd.org>
Delimmitted by tag PRE_MATT_MMAP_LOCK and POST_MATT_MMAP_LOCK
in kern/kern_lock.c kern/kern_subr.c
Diffstat (limited to 'lib/libkvm/kvm_sparc.c')
0 files changed, 0 insertions, 0 deletions