From: Patrick McHardy <kaber@trash.net>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: netdev <netdev@vger.kernel.org>, Jouni Malinen <j@w1.fi>,
Thomas Graf <tgraf@suug.ch>
Subject: Re: [RFC] netlink: add socket destruction notification
Date: Fri, 06 Nov 2009 16:37:38 +0100 [thread overview]
Message-ID: <4AF442C2.9040704@trash.net> (raw)
In-Reply-To: <1257521204.29454.31.camel@johannes.local>
Johannes Berg wrote:
> On Fri, 2009-11-06 at 16:21 +0100, Patrick McHardy wrote:
>> Johannes Berg wrote:
>>> When we want to keep track of resources associated with applications, we
>>> need to know when an app is going away. Add a notification function to
>>> netlink that tells us that, and also hook it up to generic netlink so
>>> generic netlink can notify the families. Due to the way generic netlink
>>> works though, we need to notify all families and they have to sort out
>>> whatever resources some commands associated with the socket themselves.
>
>
>> This seems pretty similar to the NETLINK_URELEASE notifier invoked
>> in netlink_release(). Wouldn't that one work as well?
>
> Hmm, it does seem similar, thanks for pointing it out. What exactly does
> the condition
> if (nlk->pid && !nlk->subscriptions) {
>
> mean though?
nlk->pid is non-zero for bound sockets, which is basically any
non-kernel socket which has either sent a message or explicitly
called bind(). nlk->subscriptions is zero for sockets not bound
to multicast groups.
So effectively it invokes the notifier for all bound unicast
userspace sockets. Not sure why it doesn't invoke the notifier
for sockets that are used for both unicast and multicast
reception. If that is a problem I think the second condition
could be removed.
next prev parent reply other threads:[~2009-11-06 15:37 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-02 8:44 [RFC] netlink: add socket destruction notification Johannes Berg
2009-11-06 5:08 ` David Miller
2009-11-06 8:55 ` Johannes Berg
2009-11-06 15:21 ` Patrick McHardy
2009-11-06 15:26 ` Johannes Berg
2009-11-06 15:37 ` Patrick McHardy [this message]
2009-11-09 10:22 ` Johannes Berg
2009-11-09 12:59 ` Patrick McHardy
2009-11-09 13:03 ` Johannes Berg
2009-11-09 13:19 ` Patrick McHardy
2009-11-09 16:51 ` Johannes Berg
2009-11-09 16:57 ` Patrick McHardy
2009-11-09 17:46 ` Johannes Berg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4AF442C2.9040704@trash.net \
--to=kaber@trash.net \
--cc=j@w1.fi \
--cc=johannes@sipsolutions.net \
--cc=netdev@vger.kernel.org \
--cc=tgraf@suug.ch \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).