diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-01 13:17:28 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-01 13:17:28 -0700 |
commit | 75723957673bfa10c98b735259f891cc79cf0450 (patch) | |
tree | 7382ea8e4bbda6ddf8d6f29f708aa531e262cd36 /arch/x86_64 | |
parent | e2cd68f7cd07cc898581bd736ebdd6f2c2323c2e (diff) | |
download | linux-stable-75723957673bfa10c98b735259f891cc79cf0450.tar.gz linux-stable-75723957673bfa10c98b735259f891cc79cf0450.tar.bz2 linux-stable-75723957673bfa10c98b735259f891cc79cf0450.zip |
Fix possible splice() mmap_sem deadlock
Nick Piggin points out that splice isn't being good about the mmap
semaphore: while two readers can nest inside each others, it does leave
a possible deadlock if a writer (ie a new mmap()) comes in during that
nesting.
Original "just move the locking" patch by Nick, replaced by one by me
based on an optimistic pagefault_disable(). And then Jens tested and
updated that patch.
Reported-by: Nick Piggin <npiggin@suse.de>
Tested-by: Jens Axboe <jens.axboe@oracle.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/x86_64')
0 files changed, 0 insertions, 0 deletions