On Tue, Dec 04, 2007 at 01:09:36PM -0800, Linus Torvalds wrote: > > > On Tue, 4 Dec 2007, Steven Rostedt wrote: > > > > The solution I did to solve this is to allocate a temporary buffer when > > setting up the block and free it in futex_wait_restart. This patch > > allows David's test program to actually pass. > > No. Unacceptable. This is a memory leak in case nobody retries it. It's > basically not how you can do this thing.
Fair enough. I was misguided, that the return func had to be called. > > The *only* thing you can pass for a system call restart is the argument > block register state. If that is not enough, then you cannot restart it. > It's that simple. > > Andrew, please do *not* put this in any queues. It's fundamentally broken, > and cannot be fixed as is. Yep, trash it. Seems that arg3 is not used here and since the timer is 64 bits, we can store the bottom 32 bits in arg2 and the top in arg3 (this will work for both 32 and 64 bit archs). This will eliminate the need for kmalloc (I didn't like that solution anyway). New patch on its way (after I get some food to eat). Thanks, -- Steve -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/