Remove listeners from per-cpu listener lists only if they've closed the
socket (resulting in an ECONNREFUSED failure of genetlink unicast).
For other errors returned by genlmsg_unicast like -EAGAIN which results
from the receiver's buffer having insufficient space, userspace gets an
ENOBUF warning and the kernel can continue.
Signed-Off-By: Shailabh Nagar <[email protected]>
Signed-Off-By: Balbir Singh <[email protected]>
Signed-Off-By: Chandra Seetharaman <[email protected]>
kernel/taskstats.c | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
Index: linux-2.6.18-rc1/kernel/taskstats.c
===================================================================
--- linux-2.6.18-rc1.orig/kernel/taskstats.c 2006-07-10 23:44:54.000000000 -0400
+++ linux-2.6.18-rc1/kernel/taskstats.c 2006-07-10 23:44:56.000000000 -0400
@@ -139,7 +139,7 @@ static int send_cpu_listeners(struct sk_
down_write(&listeners->sem);
list_for_each_entry_safe(s, tmp, &listeners->list, list) {
ret = genlmsg_unicast(skb, s->pid);
- if (ret) {
+ if (ret == -ECONNREFUSED) {
list_del(&s->list);
kfree(s);
rc = ret;
-
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/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]