[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20090512223500.d7ef4648.akpm@linux-foundation.org>
Date: Tue, 12 May 2009 22:35:00 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Miklos Szeredi <miklos@...redi.hu>
Cc: jens.axboe@...cle.com, Max Kellermann <max@...mpel.org>,
torvalds@...ux-foundation.org, linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [patch 2/3] splice: implement default splice_read method
On Thu, 07 May 2009 15:37:36 +0200 Miklos Szeredi <miklos@...redi.hu> wrote:
> + for (i = 0; i < spd.nr_pages; i++) {
> + kunmap(pages[i]);
It is deadlockable if any thread of control holds more than a single
kmap at a time.
Because there are a finite number of kmaps available, and if one is
unavailable, kmap() waits for one to become free. If the number of
waiting threads equals the number of available slots, nobody makes any
progress.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists