On Tue, Apr 22 2008, Linus Torvalds wrote: > > > On Tue, 22 Apr 2008, Linus Torvalds wrote: > > > > You forgot to free the "data" here? The waiter must also free the object, > > since now the callee does not. > > Ahh. For the single case, the caller will have it on the stack. Yes, if wait is set, it's on the stack. > But the smp_call_function_mask() case seems to leak these things. Hmm yes, double checking it and it would seem to leak for wait && kmalloc'ed data. I think I originally had the wait case as always on stack, which would explain this leak. > How about just always doing the "wait" case on the stack? Also, I'd > suggest you get rid of the static allocation, and just turn it into a wait > case, so that you don't need *three* different allocation cases, just two. Alright, I'll make 'wait' always alloc on the stack and I'll make allocation failure turn into 'wait' as well. That'll leave just kmalloc() and stack allocation, killing the static data fallback. > Or am I missing something? No, I think that should work ok. I'll post a new series with the changes so we can see if we agree. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html