Re: splice/tee bugs?

From: Paulo Marques
Date: Fri Jul 07 2006 - 09:52:52 EST


Jens Axboe wrote:
On Fri, Jul 07 2006, Arjan van de Ven wrote:
I cannot see where this could be happening, Ingo is this valid?
maybe the test found a way to exit the kernel previously while holding
the lock ?

I don't see how that could happen. The function in question is
fs/splice.c:link_pipe(). There are no returns in that function, it
always just breaks out and unlocks the two mutexes again.

AFAICS, in the case that you don't release any lock before entering pipe_wait (because of the lock ordering), pipe_wait just releases one of the locks and then schedules with the other lock still held.

BTW, the comment over the second pipe_wait was copy+pasted and is reversed ;)

--
Paulo Marques - www.grupopie.com

Pointy-Haired Boss: I don't see anything that could stand in our way.
Dilbert: Sanity? Reality? The laws of physics?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/