<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/include/linux/netlink.h, branch v3.0.51</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.0.51</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v3.0.51'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2011-05-20T18:46:11Z</updated>
<entry>
<title>RDMA: Add netlink infrastructure</title>
<updated>2011-05-20T18:46:11Z</updated>
<author>
<name>Roland Dreier</name>
<email>roland@purestorage.com</email>
</author>
<published>2011-05-20T18:46:11Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=b2cbae2c248776d81cc265ff7d48405b6a4cc463'/>
<id>urn:sha1:b2cbae2c248776d81cc265ff7d48405b6a4cc463</id>
<content type='text'>
Add basic RDMA netlink infrastructure that allows for registration of
RDMA clients for which data is to be exported and supplies message
construction callbacks.

Signed-off-by: Nir Muchtar &lt;nirm@voltaire.com&gt;

[ Reorganize a few things, add CONFIG_NET dependency.  - Roland ]

Signed-off-by: Roland Dreier &lt;roland@purestorage.com&gt;
</content>
</entry>
<entry>
<title>netlink: kill eff_cap from struct netlink_skb_parms</title>
<updated>2011-03-03T21:32:07Z</updated>
<author>
<name>Patrick McHardy</name>
<email>kaber@trash.net</email>
</author>
<published>2011-03-03T21:32:07Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=01a16b21d6adf992aa863186c3c4e561a57c1714'/>
<id>urn:sha1:01a16b21d6adf992aa863186c3c4e561a57c1714</id>
<content type='text'>
Netlink message processing in the kernel is synchronous these days,
capabilities can be checked directly in security_netlink_recv() from
the current process.

Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
Reviewed-by: James Morris &lt;jmorris@namei.org&gt;
[chrisw: update to include pohmelfs and uvesafb]
Signed-off-by: Chris Wright &lt;chrisw@sous-sol.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>netlink: kill loginuid/sessionid/sid members from struct netlink_skb_parms</title>
<updated>2011-03-03T18:55:40Z</updated>
<author>
<name>Patrick McHardy</name>
<email>kaber@trash.net</email>
</author>
<published>2011-03-03T18:55:40Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=c53fa1ed92cd671a1dfb1e7569e9ab672612ddc6'/>
<id>urn:sha1:c53fa1ed92cd671a1dfb1e7569e9ab672612ddc6</id>
<content type='text'>
Netlink message processing in the kernel is synchronous these days, the
session information can be collected when needed.

Signed-off-by: Patrick McHardy &lt;kaber@trash.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>netlink: fix gcc -Wconversion compilation warning</title>
<updated>2010-12-17T20:03:14Z</updated>
<author>
<name>Dmitry V. Levin</name>
<email>ldv@altlinux.org</email>
</author>
<published>2010-12-17T20:03:14Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=4b8fe66300acb2fba8b16d62606e0d30204022fc'/>
<id>urn:sha1:4b8fe66300acb2fba8b16d62606e0d30204022fc</id>
<content type='text'>
$ cat &lt;&lt; EOF | gcc -Wconversion -xc -S -o/dev/null -
unsigned f(void) {return NLMSG_HDRLEN;}
EOF
&lt;stdin&gt;: In function 'f':
&lt;stdin&gt;:3:26: warning: negative integer implicitly converted to unsigned type

Signed-off-by: Dmitry V. Levin &lt;ldv@altlinux.org&gt;
Signed-off-by: Kirill A. Shutemov &lt;kirill@shutemov.name&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: Move "struct net" declaration inside the __KERNEL__ macro guard</title>
<updated>2010-09-22T20:21:05Z</updated>
<author>
<name>Ollie Wild</name>
<email>aaw@google.com</email>
</author>
<published>2010-09-22T05:54:54Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=56b49f4b8f6728b91d10c556c116175051b77b60'/>
<id>urn:sha1:56b49f4b8f6728b91d10c556c116175051b77b60</id>
<content type='text'>
This patch reduces namespace pollution by moving the "struct net" declaration
out of the userspace-facing portion of linux/netlink.h.  It has no impact on
the kernel.

(This came up because we have several C++ applications which use "net" as a
namespace name.)

Signed-off-by: Ollie Wild &lt;aaw@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>netlink: Implment netlink_broadcast_filtered</title>
<updated>2010-05-21T16:37:32Z</updated>
<author>
<name>Eric W. Biederman</name>
<email>ebiederm@xmission.com</email>
</author>
<published>2010-05-05T00:36:46Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=910a7e905f36e51a17d6e8bb4ad6dcd5ac5f1d53'/>
<id>urn:sha1:910a7e905f36e51a17d6e8bb4ad6dcd5ac5f1d53</id>
<content type='text'>
When netlink sockets are used to convey data that is in a namespace
we need a way to select a subset of the listening sockets to deliver
the packet to.  For the network namespace we have been doing this
by only transmitting packets in the correct network namespace.

For data belonging to other namespaces netlink_bradcast_filtered
provides a mechanism that allows us to examine the destination
socket and to decide if we should transmit the specified packet
to it.

Signed-off-by: Eric W. Biederman &lt;ebiederm@xmission.com&gt;
Acked-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>netlink: fix NETLINK_RECV_NO_ENOBUFS in netlink_set_err()</title>
<updated>2010-03-20T21:29:03Z</updated>
<author>
<name>Pablo Neira Ayuso</name>
<email>pablo@netfilter.org</email>
</author>
<published>2010-03-18T14:24:42Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=1a50307ba1826e4da0024e64b245ce4eadf7688a'/>
<id>urn:sha1:1a50307ba1826e4da0024e64b245ce4eadf7688a</id>
<content type='text'>
Currently, ENOBUFS errors are reported to the socket via
netlink_set_err() even if NETLINK_RECV_NO_ENOBUFS is set. However,
that should not happen. This fixes this problem and it changes the
prototype of netlink_set_err() to return the number of sockets that
have set the NETLINK_RECV_NO_ENOBUFS socket option. This return
value is used in the next patch in these bugfix series.

Signed-off-by: Pablo Neira Ayuso &lt;pablo@netfilter.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: cleanup include/linux</title>
<updated>2009-11-04T17:50:58Z</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2009-11-04T17:50:58Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=d94d9fee9fa4e66a0b91640a694b8b10177075b3'/>
<id>urn:sha1:d94d9fee9fa4e66a0b91640a694b8b10177075b3</id>
<content type='text'>
This cleanup patch puts struct/union/enum opening braces,
in first line to ease grep games.

struct something
{

becomes :

struct something {

Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>genetlink: fix netns vs. netlink table locking (2)</title>
<updated>2009-09-24T22:44:05Z</updated>
<author>
<name>Johannes Berg</name>
<email>johannes@sipsolutions.net</email>
</author>
<published>2009-09-24T22:44:05Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=b8273570f802a7658827dcb077b0b517ba75a289'/>
<id>urn:sha1:b8273570f802a7658827dcb077b0b517ba75a289</id>
<content type='text'>
Similar to commit d136f1bd366fdb7e747ca7e0218171e7a00a98a5,
there's a bug when unregistering a generic netlink family,
which is caught by the might_sleep() added in that commit:

    BUG: sleeping function called from invalid context at net/netlink/af_netlink.c:183
    in_atomic(): 1, irqs_disabled(): 0, pid: 1510, name: rmmod
    2 locks held by rmmod/1510:
     #0:  (genl_mutex){+.+.+.}, at: [&lt;ffffffff8138283b&gt;] genl_unregister_family+0x2b/0x130
     #1:  (rcu_read_lock){.+.+..}, at: [&lt;ffffffff8138270c&gt;] __genl_unregister_mc_group+0x1c/0x120
    Pid: 1510, comm: rmmod Not tainted 2.6.31-wl #444
    Call Trace:
     [&lt;ffffffff81044ff9&gt;] __might_sleep+0x119/0x150
     [&lt;ffffffff81380501&gt;] netlink_table_grab+0x21/0x100
     [&lt;ffffffff813813a3&gt;] netlink_clear_multicast_users+0x23/0x60
     [&lt;ffffffff81382761&gt;] __genl_unregister_mc_group+0x71/0x120
     [&lt;ffffffff81382866&gt;] genl_unregister_family+0x56/0x130
     [&lt;ffffffffa0007d85&gt;] nl80211_exit+0x15/0x20 [cfg80211]
     [&lt;ffffffffa000005a&gt;] cfg80211_exit+0x1a/0x40 [cfg80211]

Fix in the same way by grabbing the netlink table lock
before doing rcu_read_lock().

Signed-off-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>genetlink: fix netns vs. netlink table locking</title>
<updated>2009-09-15T00:02:50Z</updated>
<author>
<name>Johannes Berg</name>
<email>johannes@sipsolutions.net</email>
</author>
<published>2009-09-12T03:03:15Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=d136f1bd366fdb7e747ca7e0218171e7a00a98a5'/>
<id>urn:sha1:d136f1bd366fdb7e747ca7e0218171e7a00a98a5</id>
<content type='text'>
Since my commits introducing netns awareness into
genetlink we can get this problem:

BUG: scheduling while atomic: modprobe/1178/0x00000002
2 locks held by modprobe/1178:
 #0:  (genl_mutex){+.+.+.}, at: [&lt;ffffffff8135ee1a&gt;] genl_register_mc_grou
 #1:  (rcu_read_lock){.+.+..}, at: [&lt;ffffffff8135eeb5&gt;] genl_register_mc_g
Pid: 1178, comm: modprobe Not tainted 2.6.31-rc8-wl-34789-g95cb731-dirty #
Call Trace:
 [&lt;ffffffff8103e285&gt;] __schedule_bug+0x85/0x90
 [&lt;ffffffff81403138&gt;] schedule+0x108/0x588
 [&lt;ffffffff8135b131&gt;] netlink_table_grab+0xa1/0xf0
 [&lt;ffffffff8135c3a7&gt;] netlink_change_ngroups+0x47/0x100
 [&lt;ffffffff8135ef0f&gt;] genl_register_mc_group+0x12f/0x290

because I overlooked that netlink_table_grab() will
schedule, thinking it was just the rwlock. However,
in the contention case, that isn't actually true.

Fix this by letting the code grab the netlink table
lock first and then the RCU for netns protection.

Signed-off-by: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
