<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/l2tp/l2tp_core.c, branch linux-4.6.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.6.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.6.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-06-24T17:22:01Z</updated>
<entry>
<title>l2tp: fix configuration passed to setup_udp_tunnel_sock()</title>
<updated>2016-06-24T17:22:01Z</updated>
<author>
<name>Guillaume Nault</name>
</author>
<published>2016-06-08T10:59:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d532139b6a7633a8989de065fa66c336a96c614d'/>
<id>urn:sha1:d532139b6a7633a8989de065fa66c336a96c614d</id>
<content type='text'>
[ Upstream commit a5c5e2da8551eb69e5d5d09d51d526140b5db9fb ]

Unused fields of udp_cfg must be all zeros. Otherwise
setup_udp_tunnel_sock() fills -&gt;gro_receive and -&gt;gro_complete
callbacks with garbage, eventually resulting in panic when used by
udp_gro_receive().

[   72.694123] BUG: unable to handle kernel paging request at ffff880033f87d78
[   72.695518] IP: [&lt;ffff880033f87d78&gt;] 0xffff880033f87d78
[   72.696530] PGD 26e2067 PUD 26e3067 PMD 342ed063 PTE 8000000033f87163
[   72.696530] Oops: 0011 [#1] SMP KASAN
[   72.696530] Modules linked in: l2tp_ppp l2tp_netlink l2tp_core ip6_udp_tunnel udp_tunnel pptp gre pppox ppp_generic slhc crc32c_intel ghash_clmulni_intel jitterentropy_rng sha256_generic hmac drbg ansi_cprng aesni_intel evdev aes_x86_64 ablk_helper cryptd lrw gf128mul glue_helper serio_raw acpi_cpufreq button proc\
essor ext4 crc16 jbd2 mbcache virtio_blk virtio_net virtio_pci virtio_ring virtio
[   72.696530] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 4.7.0-rc1 #1
[   72.696530] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Debian-1.8.2-1 04/01/2014
[   72.696530] task: ffff880035b59700 ti: ffff880035b70000 task.ti: ffff880035b70000
[   72.696530] RIP: 0010:[&lt;ffff880033f87d78&gt;]  [&lt;ffff880033f87d78&gt;] 0xffff880033f87d78
[   72.696530] RSP: 0018:ffff880035f87bc0  EFLAGS: 00010246
[   72.696530] RAX: ffffed000698f996 RBX: ffff88003326b840 RCX: ffffffff814cc823
[   72.696530] RDX: ffff88003326b840 RSI: ffff880033e48038 RDI: ffff880034c7c780
[   72.696530] RBP: ffff880035f87c18 R08: 000000000000a506 R09: 0000000000000000
[   72.696530] R10: ffff880035f87b38 R11: ffff880034b9344d R12: 00000000ebfea715
[   72.696530] R13: 0000000000000000 R14: ffff880034c7c780 R15: 0000000000000000
[   72.696530] FS:  0000000000000000(0000) GS:ffff880035f80000(0000) knlGS:0000000000000000
[   72.696530] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   72.696530] CR2: ffff880033f87d78 CR3: 0000000033c98000 CR4: 00000000000406a0
[   72.696530] Stack:
[   72.696530]  ffffffff814cc834 ffff880034b93468 0000001481416818 ffff88003326b874
[   72.696530]  ffff880034c7ccb0 ffff880033e48038 ffff88003326b840 ffff880034b93462
[   72.696530]  ffff88003326b88a ffff88003326b88c ffff880034b93468 ffff880035f87c70
[   72.696530] Call Trace:
[   72.696530]  &lt;IRQ&gt;
[   72.696530]  [&lt;ffffffff814cc834&gt;] ? udp_gro_receive+0x1c6/0x1f9
[   72.696530]  [&lt;ffffffff814ccb1c&gt;] udp4_gro_receive+0x2b5/0x310
[   72.696530]  [&lt;ffffffff814d989b&gt;] inet_gro_receive+0x4a3/0x4cd
[   72.696530]  [&lt;ffffffff81431b32&gt;] dev_gro_receive+0x584/0x7a3
[   72.696530]  [&lt;ffffffff810adf7a&gt;] ? __lock_is_held+0x29/0x64
[   72.696530]  [&lt;ffffffff814321f7&gt;] napi_gro_receive+0x124/0x21d
[   72.696530]  [&lt;ffffffffa000b145&gt;] virtnet_receive+0x8df/0x8f6 [virtio_net]
[   72.696530]  [&lt;ffffffffa000b27e&gt;] virtnet_poll+0x1d/0x8d [virtio_net]
[   72.696530]  [&lt;ffffffff81431350&gt;] net_rx_action+0x15b/0x3b9
[   72.696530]  [&lt;ffffffff815893d6&gt;] __do_softirq+0x216/0x546
[   72.696530]  [&lt;ffffffff81062392&gt;] irq_exit+0x49/0xb6
[   72.696530]  [&lt;ffffffff81588e9a&gt;] do_IRQ+0xe2/0xfa
[   72.696530]  [&lt;ffffffff81587a49&gt;] common_interrupt+0x89/0x89
[   72.696530]  &lt;EOI&gt;
[   72.696530]  [&lt;ffffffff810b05df&gt;] ? trace_hardirqs_on_caller+0x229/0x270
[   72.696530]  [&lt;ffffffff8102b3c7&gt;] ? default_idle+0x1c/0x2d
[   72.696530]  [&lt;ffffffff8102b3c5&gt;] ? default_idle+0x1a/0x2d
[   72.696530]  [&lt;ffffffff8102bb8c&gt;] arch_cpu_idle+0xa/0xc
[   72.696530]  [&lt;ffffffff810a6c39&gt;] default_idle_call+0x1a/0x1c
[   72.696530]  [&lt;ffffffff810a6d96&gt;] cpu_startup_entry+0x15b/0x20f
[   72.696530]  [&lt;ffffffff81039a81&gt;] start_secondary+0x12c/0x133
[   72.696530] Code: ff ff ff ff ff ff ff ff ff ff 7f ff ff ff ff ff ff ff 7f 00 7e f8 33 00 88 ff ff 6d 61 58 81 ff ff ff ff 5e de 0a 81 ff ff ff ff &lt;00&gt; 5c e2 34 00 88 ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00
[   72.696530] RIP  [&lt;ffff880033f87d78&gt;] 0xffff880033f87d78
[   72.696530]  RSP &lt;ffff880035f87bc0&gt;
[   72.696530] CR2: ffff880033f87d78
[   72.696530] ---[ end trace ad7758b9a1dccf99 ]---
[   72.696530] Kernel panic - not syncing: Fatal exception in interrupt
[   72.696530] Kernel Offset: disabled
[   72.696530] ---[ end Kernel panic - not syncing: Fatal exception in interrupt

v2: use empty initialiser instead of "{ NULL }" to avoid relying on
    first field's type.

Fixes: 38fd2af24fcf ("udp: Add socket based GRO and config")
Signed-off-by: Guillaume Nault &lt;g.nault@alphalink.fr&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>net: l2tp: fix reversed udp6 checksum flags</title>
<updated>2016-05-01T23:32:16Z</updated>
<author>
<name>Wang Shanker</name>
</author>
<published>2016-04-28T17:29:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=018f8258582381bcce484312f0e9ec2970d0383e'/>
<id>urn:sha1:018f8258582381bcce484312f0e9ec2970d0383e</id>
<content type='text'>
This patch fixes a bug which causes the behavior of whether to ignore
udp6 checksum of udp6 encapsulated l2tp tunnel contrary to what
userspace program requests.

When the flag `L2TP_ATTR_UDP_ZERO_CSUM6_RX` is set by userspace, it is
expected that udp6 checksums of received packets of the l2tp tunnel
to create should be ignored. In `l2tp_netlink.c`:
`l2tp_nl_cmd_tunnel_create()`, `cfg.udp6_zero_rx_checksums` is set
according to the flag, and then passed to `l2tp_core.c`:
`l2tp_tunnel_create()` and then `l2tp_tunnel_sock_create()`. In
`l2tp_tunnel_sock_create()`, `udp_conf.use_udp6_rx_checksums` is set
the same to `cfg.udp6_zero_rx_checksums`. However, if we want the
checksum to be ignored, `udp_conf.use_udp6_rx_checksums` should be set
to `false`, i.e. be set to the contrary. Similarly, the same should be
done to `udp_conf.use_udp6_tx_checksums`.

Signed-off-by: Miao Wang &lt;shankerwangmiao@gmail.com&gt;
Acked-by: James Chapman &lt;jchapman@katalix.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>l2tp: protect tunnel-&gt;del_work by ref_count</title>
<updated>2015-09-29T05:39:10Z</updated>
<author>
<name>Alexander Couzens</name>
</author>
<published>2015-09-28T09:32:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=06a15f51cf3618e32a73871ee6a547ef7fd902b5'/>
<id>urn:sha1:06a15f51cf3618e32a73871ee6a547ef7fd902b5</id>
<content type='text'>
There is a small chance that tunnel_free() is called before tunnel-&gt;del_work scheduled
resulting in a zero pointer dereference.

Signed-off-by: Alexander Couzens &lt;lynxis@fe80.eu&gt;
Acked-by: James Chapman &lt;jchapman@katalix.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: Modify sk_alloc to not reference count the netns of kernel sockets.</title>
<updated>2015-05-11T14:50:18Z</updated>
<author>
<name>Eric W. Biederman</name>
</author>
<published>2015-05-09T02:10:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=26abe14379f8e2fa3fd1bcf97c9a7ad9364886fe'/>
<id>urn:sha1:26abe14379f8e2fa3fd1bcf97c9a7ad9364886fe</id>
<content type='text'>
Now that sk_alloc knows when a kernel socket is being allocated modify
it to not reference count the network namespace of kernel sockets.

Keep track of if a socket needs reference counting by adding a flag to
struct sock called sk_net_refcnt.

Update all of the callers of sock_create_kern to stop using
sk_change_net and sk_release_kernel as those hacks are no longer
needed, to avoid reference counting a kernel socket.

Signed-off-by: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: Add a struct net parameter to sock_create_kern</title>
<updated>2015-05-11T14:50:17Z</updated>
<author>
<name>Eric W. Biederman</name>
</author>
<published>2015-05-09T02:08:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=eeb1bd5c40edb0e2fd925c8535e2fdebdbc5cef2'/>
<id>urn:sha1:eeb1bd5c40edb0e2fd925c8535e2fdebdbc5cef2</id>
<content type='text'>
This is long overdue, and is part of cleaning up how we allocate kernel
sockets that don't reference count struct net.

Signed-off-by: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>l2tp: unregister l2tp_net_ops on failure path</title>
<updated>2015-04-06T20:53:02Z</updated>
<author>
<name>WANG Cong</name>
</author>
<published>2015-04-03T20:46:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=67e04c29ec0daad9ba29341b4dab4b89526994cf'/>
<id>urn:sha1:67e04c29ec0daad9ba29341b4dab4b89526994cf</id>
<content type='text'>
Signed-off-by: Cong Wang &lt;xiyou.wangcong@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>l2tp: Refactor l2tp core driver to make use of the common UDP tunnel functions</title>
<updated>2014-09-19T19:57:15Z</updated>
<author>
<name>Andy Zhou</name>
</author>
<published>2014-09-17T00:31:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c8fffcea0a079f933b4e98adf9ebaa384dc943b6'/>
<id>urn:sha1:c8fffcea0a079f933b4e98adf9ebaa384dc943b6</id>
<content type='text'>
Simplify l2tp implementation using common UDP tunnel APIs.

Signed-off-by: Andy Zhou &lt;azhou@nicira.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>l2tp: fix missing line continuation</title>
<updated>2014-09-05T22:19:53Z</updated>
<author>
<name>Andy Zhou</name>
</author>
<published>2014-09-03T20:16:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=29abe2fda54f8e16ecff5d76d96325f31508d5ba'/>
<id>urn:sha1:29abe2fda54f8e16ecff5d76d96325f31508d5ba</id>
<content type='text'>
This syntax error was covered by L2TP_REFCNT_DEBUG not being set by
default.

Signed-off-by: Andy Zhou &lt;azhou@nicira.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>l2tp: Enable checksum unnecessary conversions for l2tp/UDP sockets</title>
<updated>2014-09-02T04:36:28Z</updated>
<author>
<name>Tom Herbert</name>
</author>
<published>2014-08-31T22:12:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=72297c59f7188d12f24daee1877e7dcca787cf1f'/>
<id>urn:sha1:72297c59f7188d12f24daee1877e7dcca787cf1f</id>
<content type='text'>
Signed-off-by: Tom Herbert &lt;therbert@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>l2tp: Call udp_sock_create</title>
<updated>2014-07-14T23:12:15Z</updated>
<author>
<name>Tom Herbert</name>
</author>
<published>2014-07-14T02:49:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=85644b4d0c6f7be64dad461057d78a484b45bf5b'/>
<id>urn:sha1:85644b4d0c6f7be64dad461057d78a484b45bf5b</id>
<content type='text'>
In l2tp driver call common function udp_sock_create to create the
listener UDP port.

Signed-off-by: Tom Herbert &lt;therbert@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
