<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/ipv6/ip6mr.c, branch linux-3.11.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.11.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.11.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2013-07-25T00:02:13Z</updated>
<entry>
<title>ipv6: take rtnl_lock and mark mrt6 table as freed on namespace cleanup</title>
<updated>2013-07-25T00:02:13Z</updated>
<author>
<name>Hannes Frederic Sowa</name>
</author>
<published>2013-07-22T21:45:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=905a6f96a1b18e490a75f810d733ced93c39b0e5'/>
<id>urn:sha1:905a6f96a1b18e490a75f810d733ced93c39b0e5</id>
<content type='text'>
Otherwise we end up dereferencing the already freed net-&gt;ipv6.mrt pointer
which leads to a panic (from Srivatsa S. Bhat):

BUG: unable to handle kernel paging request at ffff882018552020
IP: [&lt;ffffffffa0366b02&gt;] ip6mr_sk_done+0x32/0xb0 [ipv6]
PGD 290a067 PUD 207ffe0067 PMD 207ff1d067 PTE 8000002018552060
Oops: 0000 [#1] SMP DEBUG_PAGEALLOC
Modules linked in: ebtable_nat ebtables nfs fscache nf_conntrack_ipv4 nf_defrag_ipv4 ipt_REJECT xt_CHECKSUM iptable_mangle iptable_filter ip_tables nfsd lockd nfs_acl exportfs auth_rpcgss autofs4 sunrpc 8021q garp bridge stp llc ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter
+ip6_tables ipv6 vfat fat vhost_net macvtap macvlan vhost tun kvm_intel kvm uinput iTCO_wdt iTCO_vendor_support cdc_ether usbnet mii microcode i2c_i801 i2c_core lpc_ich mfd_core shpchp ioatdma dca mlx4_core be2net wmi acpi_cpufreq mperf ext4 jbd2 mbcache dm_mirror dm_region_hash dm_log dm_mod
CPU: 0 PID: 7 Comm: kworker/u33:0 Not tainted 3.11.0-rc1-ea45e-a #4
Hardware name: IBM  -[8737R2A]-/00Y2738, BIOS -[B2E120RUS-1.20]- 11/30/2012
Workqueue: netns cleanup_net
task: ffff8810393641c0 ti: ffff881039366000 task.ti: ffff881039366000
RIP: 0010:[&lt;ffffffffa0366b02&gt;]  [&lt;ffffffffa0366b02&gt;] ip6mr_sk_done+0x32/0xb0 [ipv6]
RSP: 0018:ffff881039367bd8  EFLAGS: 00010286
RAX: ffff881039367fd8 RBX: ffff882018552000 RCX: dead000000200200
RDX: 0000000000000000 RSI: ffff881039367b68 RDI: ffff881039367b68
RBP: ffff881039367bf8 R08: ffff881039367b68 R09: 2222222222222222
R10: 2222222222222222 R11: 2222222222222222 R12: ffff882015a7a040
R13: ffff882014eb89c0 R14: ffff8820289e2800 R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff88103fc00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffff882018552020 CR3: 0000000001c0b000 CR4: 00000000000407f0
Stack:
 ffff881039367c18 ffff882014eb89c0 ffff882015e28c00 0000000000000000
 ffff881039367c18 ffffffffa034d9d1 ffff8820289e2800 ffff882014eb89c0
 ffff881039367c58 ffffffff815bdecb ffffffff815bddf2 ffff882014eb89c0
Call Trace:
 [&lt;ffffffffa034d9d1&gt;] rawv6_close+0x21/0x40 [ipv6]
 [&lt;ffffffff815bdecb&gt;] inet_release+0xfb/0x220
 [&lt;ffffffff815bddf2&gt;] ? inet_release+0x22/0x220
 [&lt;ffffffffa032686f&gt;] inet6_release+0x3f/0x50 [ipv6]
 [&lt;ffffffff8151c1d9&gt;] sock_release+0x29/0xa0
 [&lt;ffffffff81525520&gt;] sk_release_kernel+0x30/0x70
 [&lt;ffffffffa034f14b&gt;] icmpv6_sk_exit+0x3b/0x80 [ipv6]
 [&lt;ffffffff8152fff9&gt;] ops_exit_list+0x39/0x60
 [&lt;ffffffff815306fb&gt;] cleanup_net+0xfb/0x1a0
 [&lt;ffffffff81075e3a&gt;] process_one_work+0x1da/0x610
 [&lt;ffffffff81075dc9&gt;] ? process_one_work+0x169/0x610
 [&lt;ffffffff81076390&gt;] worker_thread+0x120/0x3a0
 [&lt;ffffffff81076270&gt;] ? process_one_work+0x610/0x610
 [&lt;ffffffff8107da2e&gt;] kthread+0xee/0x100
 [&lt;ffffffff8107d940&gt;] ? __init_kthread_worker+0x70/0x70
 [&lt;ffffffff8162a99c&gt;] ret_from_fork+0x7c/0xb0
 [&lt;ffffffff8107d940&gt;] ? __init_kthread_worker+0x70/0x70
Code: 20 48 89 5d e8 4c 89 65 f0 4c 89 6d f8 66 66 66 66 90 4c 8b 67 30 49 89 fd e8 db 3c 1e e1 49 8b 9c 24 90 08 00 00 48 85 db 74 06 &lt;4c&gt; 39 6b 20 74 20 bb f3 ff ff ff e8 8e 3c 1e e1 89 d8 4c 8b 65
RIP  [&lt;ffffffffa0366b02&gt;] ip6mr_sk_done+0x32/0xb0 [ipv6]
 RSP &lt;ffff881039367bd8&gt;
CR2: ffff882018552020

Reported-by: Srivatsa S. Bhat &lt;srivatsa.bhat@linux.vnet.ibm.com&gt;
Tested-by: Srivatsa S. Bhat &lt;srivatsa.bhat@linux.vnet.ibm.com&gt;
Signed-off-by: Hannes Frederic Sowa &lt;hannes@stressinduktion.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: pass info struct via netdevice notifier</title>
<updated>2013-05-28T20:11:01Z</updated>
<author>
<name>Jiri Pirko</name>
</author>
<published>2013-05-28T01:30:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=351638e7deeed2ec8ce451b53d33921b3da68f83'/>
<id>urn:sha1:351638e7deeed2ec8ce451b53d33921b3da68f83</id>
<content type='text'>
So far, only net_device * could be passed along with netdevice notifier
event. This patch provides a possibility to pass custom structure
able to provide info that event listener needs to know.

Signed-off-by: Jiri Pirko &lt;jiri@resnulli.us&gt;

v2-&gt;v3: fix typo on simeth
	shortened dev_getter
	shortened notifier_info struct name
v1-&gt;v2: fix notifier_call parameter in call_netdevice_notifier()
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net-next: replace obsolete NLMSG_* with type safe nlmsg_*</title>
<updated>2013-03-28T18:25:25Z</updated>
<author>
<name>Hong zhi guo</name>
</author>
<published>2013-03-27T06:47:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=573ce260b385a4d14a1ef046558fad9f1daeee42'/>
<id>urn:sha1:573ce260b385a4d14a1ef046558fad9f1daeee42</id>
<content type='text'>
Signed-off-by: Hong Zhiguo &lt;honkiko@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: proc: change proc_net_remove to remove_proc_entry</title>
<updated>2013-02-18T19:53:08Z</updated>
<author>
<name>Gao feng</name>
</author>
<published>2013-02-18T01:34:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ece31ffd539e8e2b586b1ca5f50bc4f4591e3893'/>
<id>urn:sha1:ece31ffd539e8e2b586b1ca5f50bc4f4591e3893</id>
<content type='text'>
proc_net_remove is only used to remove proc entries
that under /proc/net,it's not a general function for
removing proc entries of netns. if we want to remove
some proc entries which under /proc/net/stat/, we still
need to call remove_proc_entry.

this patch use remove_proc_entry to replace proc_net_remove.
we can remove proc_net_remove after this patch.

Signed-off-by: Gao feng &lt;gaofeng@cn.fujitsu.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: proc: change proc_net_fops_create to proc_create</title>
<updated>2013-02-18T19:53:08Z</updated>
<author>
<name>Gao feng</name>
</author>
<published>2013-02-18T01:34:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d4beaa66add8aebf83ab16d2fde4e4de8dac36df'/>
<id>urn:sha1:d4beaa66add8aebf83ab16d2fde4e4de8dac36df</id>
<content type='text'>
Right now, some modules such as bonding use proc_create
to create proc entries under /proc/net/, and other modules
such as ipv4 use proc_net_fops_create.

It looks a little chaos.this patch changes all of
proc_net_fops_create to proc_create. we can remove
proc_net_fops_create after this patch.

Signed-off-by: Gao feng &lt;gaofeng@cn.fujitsu.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2013-01-29T20:32:13Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2013-01-29T20:32:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f1e7b73acc26e8908af783bcd3a9900fd80688f5'/>
<id>urn:sha1:f1e7b73acc26e8908af783bcd3a9900fd80688f5</id>
<content type='text'>
Bring in the 'net' tree so that we can get some ipv4/ipv6 bug
fixes that some net-next work will build upon.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ip6mr: limit IPv6 MRT_TABLE identifiers</title>
<updated>2013-01-28T00:31:03Z</updated>
<author>
<name>Dan Carpenter</name>
</author>
<published>2013-01-23T20:38:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=75356a8143426a1301bc66c4fb920dcb1bd5e934'/>
<id>urn:sha1:75356a8143426a1301bc66c4fb920dcb1bd5e934</id>
<content type='text'>
We did this for IPv4 in b49d3c1e1c "net: ipmr: limit MRT_TABLE
identifiers" but we need to do it for IPv6 as well.  On IPv6 the name
is "pim6reg" instead of "pimreg" so there is one less digit allowed.

The strcpy() is in ip6mr_reg_vif().

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>mcast: add multicast proxy support (IPv4 and IPv6)</title>
<updated>2013-01-21T18:55:14Z</updated>
<author>
<name>Nicolas Dichtel</name>
</author>
<published>2013-01-21T06:00:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=660b26dc1a8aeb33c2a2246ebf1b3684449a74b7'/>
<id>urn:sha1:660b26dc1a8aeb33c2a2246ebf1b3684449a74b7</id>
<content type='text'>
This patch add the support of proxy multicast, ie being able to build a static
multicast tree. It adds the support of (*,*) and (*,G) entries.

The user should define an (*,*) entry which is not used for real forwarding.
This entry defines the upstream in iif and contains all interfaces from the
static tree in its oifs. It will be used to forward packet upstream when they
come from an interface belonging to the static tree.
Hence, the user should define (*,G) entries to build its static tree. Note that
upstream interface must be part of oifs: packets are sent to all oifs
interfaces except the input interface. This ensures to always join the whole
static tree, even if the packet is not coming from the upstream interface.

Signed-off-by: Nicolas Dichtel &lt;nicolas.dichtel@6wind.com&gt;
Acked-by: David L Stevens &lt;dlstevens@us.ibm.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ip6mr: fix rtm_family of rtnl msg</title>
<updated>2012-12-04T18:27:24Z</updated>
<author>
<name>Nicolas Dichtel</name>
</author>
<published>2012-12-04T01:01:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=193c1e478cc496844fcbef402a10976c95a634ff'/>
<id>urn:sha1:193c1e478cc496844fcbef402a10976c95a634ff</id>
<content type='text'>
We talk about IPv6, hence the family is RTNL_FAMILY_IP6MR!
rtnl_register() is already called with RTNL_FAMILY_IP6MR.

The bug is here since the beginning of this function (commit 5b285cac3570).

Signed-off-by: Nicolas Dichtel &lt;nicolas.dichtel@6wind.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ip6mr: advertise new mfc entries via rtnl</title>
<updated>2012-12-04T18:08:11Z</updated>
<author>
<name>Nicolas Dichtel</name>
</author>
<published>2012-12-04T01:13:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=812e44dd1829488096929ff362f749ae04dc71a0'/>
<id>urn:sha1:812e44dd1829488096929ff362f749ae04dc71a0</id>
<content type='text'>
This patch allows to monitor mf6c activities via rtnetlink.
To avoid parsing two times the mf6c oifs, we use maxvif to allocate the rtnl
msg, thus we may allocate some superfluous space.

Signed-off-by: Nicolas Dichtel &lt;nicolas.dichtel@6wind.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
