<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/ipv4/igmp.c, branch linux-2.6.27.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.27.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.27.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2008-08-13T23:15:57Z</updated>
<entry>
<title>netns: Fix crash by making igmp per namespace</title>
<updated>2008-08-13T23:15:57Z</updated>
<author>
<name>Daniel Lezcano</name>
</author>
<published>2008-08-13T23:15:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=877acedc0d3ea07f7b36573ed2f1f479c2c1eefd'/>
<id>urn:sha1:877acedc0d3ea07f7b36573ed2f1f479c2c1eefd</id>
<content type='text'>
This patch makes the multicast socket to be per namespace.

When a network namespace is created, other than the init_net and a
multicast packet is received, the kernel goes to a hang or a kernel panic.

How to reproduce ?

 * create a child network namespace
 * create a pair virtual device veth
    * ip link add type veth
 * move one side to the pair network device to the child namespace
    * ip link set netns &lt;childpid&gt; dev veth1
 * ping -I veth0 224.0.0.1

The bug appears because the function ip_mc_init_dev does not initialize
the different multicast fields as it exits because it is not the init_net.

BUG: soft lockup - CPU#0 stuck for 61s! [avahi-daemon:2695]
Modules linked in:
irq event stamp: 50350
hardirqs last  enabled at (50349): [&lt;c03ee949&gt;] _spin_unlock_irqrestore+0x34/0x39
hardirqs last disabled at (50350): [&lt;c03ec639&gt;] schedule+0x9f/0x5ff
softirqs last  enabled at (45712): [&lt;c0374d4b&gt;] ip_setsockopt+0x8e7/0x909
softirqs last disabled at (45710): [&lt;c03ee682&gt;] _spin_lock_bh+0x8/0x27

Pid: 2695, comm: avahi-daemon Not tainted (2.6.27-rc2-00029-g0872073 #3)
EIP: 0060:[&lt;c03ee47c&gt;] EFLAGS: 00000297 CPU: 0
EIP is at __read_lock_failed+0x8/0x10
EAX: c4f38810 EBX: c4f38810 ECX: 00000000 EDX: c04cc22e
ESI: fb0000e0 EDI: 00000011 EBP: 0f02000a ESP: c4e3faa0
 DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
CR0: 8005003b CR2: 44618a40 CR3: 04e37000 CR4: 000006d0
DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
DR6: ffff0ff0 DR7: 00000400
 [&lt;c02311f8&gt;] ? _raw_read_lock+0x23/0x25
 [&lt;c0390666&gt;] ? ip_check_mc+0x1c/0x83
 [&lt;c036d478&gt;] ? ip_route_input+0x229/0xe92
 [&lt;c022e2e4&gt;] ? trace_hardirqs_on_thunk+0xc/0x10
 [&lt;c0104c9c&gt;] ? do_IRQ+0x69/0x7d
 [&lt;c0102e64&gt;] ? restore_nocheck_notrace+0x0/0xe
 [&lt;c036fdba&gt;] ? ip_rcv+0x227/0x505
 [&lt;c0358764&gt;] ? netif_receive_skb+0xfe/0x2b3
 [&lt;c03588d2&gt;] ? netif_receive_skb+0x26c/0x2b3
 [&lt;c035af31&gt;] ? process_backlog+0x73/0xbd
 [&lt;c035a8cd&gt;] ? net_rx_action+0xc1/0x1ae
 [&lt;c01218a8&gt;] ? __do_softirq+0x7b/0xef
 [&lt;c0121953&gt;] ? do_softirq+0x37/0x4d
 [&lt;c035b50d&gt;] ? dev_queue_xmit+0x3d4/0x40b
 [&lt;c0122037&gt;] ? local_bh_enable+0x96/0xab
 [&lt;c035b50d&gt;] ? dev_queue_xmit+0x3d4/0x40b
 [&lt;c012181e&gt;] ? _local_bh_enable+0x79/0x88
 [&lt;c035fcb8&gt;] ? neigh_resolve_output+0x20f/0x239
 [&lt;c0373118&gt;] ? ip_finish_output+0x1df/0x209
 [&lt;c0373364&gt;] ? ip_dev_loopback_xmit+0x62/0x66
 [&lt;c0371db5&gt;] ? ip_local_out+0x15/0x17
 [&lt;c0372013&gt;] ? ip_push_pending_frames+0x25c/0x2bb
 [&lt;c03891b8&gt;] ? udp_push_pending_frames+0x2bb/0x30e
 [&lt;c038a189&gt;] ? udp_sendmsg+0x413/0x51d
 [&lt;c038a1a9&gt;] ? udp_sendmsg+0x433/0x51d
 [&lt;c038f927&gt;] ? inet_sendmsg+0x35/0x3f
 [&lt;c034f092&gt;] ? sock_sendmsg+0xb8/0xd1
 [&lt;c012d554&gt;] ? autoremove_wake_function+0x0/0x2b
 [&lt;c022e6de&gt;] ? copy_from_user+0x32/0x5e
 [&lt;c022e6de&gt;] ? copy_from_user+0x32/0x5e
 [&lt;c034f238&gt;] ? sys_sendmsg+0x18d/0x1f0
 [&lt;c0175e90&gt;] ? pipe_write+0x3cb/0x3d7
 [&lt;c0170347&gt;] ? do_sync_write+0xbe/0x105
 [&lt;c012d554&gt;] ? autoremove_wake_function+0x0/0x2b
 [&lt;c03503b2&gt;] ? sys_socketcall+0x176/0x1b0
 [&lt;c01085ea&gt;] ? syscall_trace_enter+0x6c/0x7b
 [&lt;c0102e1a&gt;] ? syscall_call+0x7/0xb

Signed-off-by: Daniel Lezcano &lt;dlezcano@fr.ibm.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>netns: Use net_eq() to compare net-namespaces for optimization.</title>
<updated>2008-07-20T05:34:43Z</updated>
<author>
<name>YOSHIFUJI Hideaki</name>
</author>
<published>2008-07-20T05:34:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=721499e8931c5732202481ae24f2dfbf9910f129'/>
<id>urn:sha1:721499e8931c5732202481ae24f2dfbf9910f129</id>
<content type='text'>
Without CONFIG_NET_NS, namespace is always &amp;init_net.
Compiler will be able to omit namespace comparisons with this patch.

Signed-off-by: YOSHIFUJI Hideaki &lt;yoshfuji@linux-ipv6.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: remove CVS keywords</title>
<updated>2008-06-12T04:00:38Z</updated>
<author>
<name>Adrian Bunk</name>
</author>
<published>2008-06-11T05:46:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0b040829952d84bf2a62526f0e24b624e0699447'/>
<id>urn:sha1:0b040829952d84bf2a62526f0e24b624e0699447</id>
<content type='text'>
This patch removes CVS keywords that weren't updated for a long time
from comments.

Signed-off-by: Adrian Bunk &lt;bunk@kernel.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: Allow netdevices to specify needed head/tailroom</title>
<updated>2008-05-13T03:48:31Z</updated>
<author>
<name>Johannes Berg</name>
</author>
<published>2008-05-13T03:48:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f5184d267c1aedb9b7a8cc44e08ff6b8d382c3b5'/>
<id>urn:sha1:f5184d267c1aedb9b7a8cc44e08ff6b8d382c3b5</id>
<content type='text'>
This patch adds needed_headroom/needed_tailroom members to struct
net_device and updates many places that allocate sbks to use them. Not
all of them can be converted though, and I'm sure I missed some (I
mostly grepped for LL_RESERVED_SPACE)

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>[NET] NETNS: Omit sock-&gt;sk_net without CONFIG_NET_NS.</title>
<updated>2008-03-25T19:39:55Z</updated>
<author>
<name>YOSHIFUJI Hideaki</name>
</author>
<published>2008-03-25T17:26:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9'/>
<id>urn:sha1:3b1e0a655f8eba44ab1ee2a1068d169ccfb853b9</id>
<content type='text'>
Introduce per-sock inlines: sock_net(), sock_net_set()
and per-inet_timewait_sock inlines: twsk_net(), twsk_net_set().
Without CONFIG_NET_NS, no namespace other than &amp;init_net exists.
Let's explicitly define them to help compiler optimizations.

Signed-off-by: YOSHIFUJI Hideaki &lt;yoshfuji@linux-ipv6.org&gt;
</content>
</entry>
<entry>
<title>[NET] NETNS: Omit net_device-&gt;nd_net without CONFIG_NET_NS.</title>
<updated>2008-03-25T19:39:53Z</updated>
<author>
<name>YOSHIFUJI Hideaki</name>
</author>
<published>2008-03-25T12:47:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c346dca10840a874240c78efe3f39acf4312a1f2'/>
<id>urn:sha1:c346dca10840a874240c78efe3f39acf4312a1f2</id>
<content type='text'>
Introduce per-net_device inlines: dev_net(), dev_net_set().
Without CONFIG_NET_NS, no namespace other than &amp;init_net exists.
Let's explicitly define them to help compiler optimizations.

Signed-off-by: YOSHIFUJI Hideaki &lt;yoshfuji@linux-ipv6.org&gt;
</content>
</entry>
<entry>
<title>[IPV4]: Add 'rtable' field in struct sk_buff to alias 'dst' and avoid casts</title>
<updated>2008-03-06T02:30:47Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2008-03-06T02:30:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ee6b967301b4aa5d4a4b61e2f682f086266db9fb'/>
<id>urn:sha1:ee6b967301b4aa5d4a4b61e2f682f086266db9fb</id>
<content type='text'>
(Anonymous) unions can help us to avoid ugly casts.

A common cast it the (struct rtable *)skb-&gt;dst one.

Defining an union like  :
union {
     struct dst_entry *dst;
     struct rtable *rtable;
};
permits to use skb-&gt;rtable in place.

Signed-off-by: Eric Dumazet &lt;dada1@cosmosbay.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[NETNS]: Disable multicaststing configuration inside non-initial namespace.</title>
<updated>2008-02-29T04:48:49Z</updated>
<author>
<name>Denis V. Lunev</name>
</author>
<published>2008-02-29T04:48:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2430aa85de8343662e8496dac9f9e4dade680023'/>
<id>urn:sha1:2430aa85de8343662e8496dac9f9e4dade680023</id>
<content type='text'>
Do not calls hooks from device notifiers and disallow configuration from
ioctl/netlink layer.

Signed-off-by: Denis V. Lunev &lt;den@openvz.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[IGMP]: Optimize kfree_skb in igmp_rcv.</title>
<updated>2008-02-10T07:22:26Z</updated>
<author>
<name>Denis V. Lunev</name>
</author>
<published>2008-02-10T07:22:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cd557bc1c15cbd20fbea47a150e1c7e56834e627'/>
<id>urn:sha1:cd557bc1c15cbd20fbea47a150e1c7e56834e627</id>
<content type='text'>
Merge error paths inside igmp_rcv.

Signed-off-by: Denis V. Lunev &lt;den@openvz.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>[NETNS]: Add namespace parameter to ip_route_output_key.</title>
<updated>2008-01-28T23:11:07Z</updated>
<author>
<name>Denis V. Lunev</name>
</author>
<published>2008-01-23T06:07:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f206351a50ea86250fabea96b9af8d8f8fc02603'/>
<id>urn:sha1:f206351a50ea86250fabea96b9af8d8f8fc02603</id>
<content type='text'>
Needed to propagate it down to the ip_route_output_flow.

Signed-off-by: Denis V. Lunev &lt;den@openvz.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
