Hi Herbert, Herbert Xu wrote: >Firstly there is a sock leak there. The following patch fixes it. >The white space damage is not mine :) > >Signed-off-by: Herbert Xu > > you are right, I missed that, but I prefer the patches attached to this email. Now if netlink_broadcast_deliver function delivers correctly the packet, you decrease sock refcount and function returns 1. I think that I got confused because netlink_broadcast_deliver returns 0/-1. >Secondly, I'm dubious about the patch as a whole. For instance, what >exactly is the wake_up_process() bit trying to do? Surely that process >would've been woken up multiple times already if its queue is full. > This is what I theorically expected, but in practice if you stress a netlink socket sending a big bunch of information in a short period of time from kernel space to user space, socket overruns easily. That's why I wake up the user process to make it process information stored in the queue. Socket doesn't overrun anymore with my patch. >And what is it going to do with thread groups? > > currently broadcast sockets can still overrun. I have a set of patches that I'll submit as soon as I test them and I finish my boring exams. regards, Pablo