[PATCH] splice: fix problems with sys_tee()
authorJens Axboe <axboe@suse.de>
Mon, 10 Jul 2006 09:00:01 +0000 (11:00 +0200)
committerJens Axboe <axboe@suse.de>
Mon, 10 Jul 2006 09:00:01 +0000 (11:00 +0200)
commitaadd06e5c56b9ff5117ec77e59eada43dc46e2fc
tree16da42148eab5ebcfc821fcedd0541f35a2c318b
parentb3cf257623fabd8f1ee6700a6d328cc1c5da5a1d
[PATCH] splice: fix problems with sys_tee()

Several issues noticed/fixed:

- We cannot reliably block in link_pipe() while holding both input and output
  mutexes. So do preparatory checks before locking down both mutexes and doing
  the link.

- The ipipe->nrbufs vs i check was bad, because we could have dropped the
  ipipe lock in-between. This causes us to potentially look at unknown
  buffers if we were racing with someone else reading this pipe.

Signed-off-by: Jens Axboe <axboe@suse.de>
fs/splice.c