<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/ipv4/ip_gre.c, branch linux-2.6.33.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.33.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.33.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2011-08-08T17:36:07Z</updated>
<entry>
<title>gre: fix netns vs proto registration ordering</title>
<updated>2011-08-08T17:36:07Z</updated>
<author>
<name>Alexey Dobriyan</name>
</author>
<published>2010-02-16T07:57:44Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1ab3f68eb0da46cdb290e10682029e04042bc5f4'/>
<id>urn:sha1:1ab3f68eb0da46cdb290e10682029e04042bc5f4</id>
<content type='text'>
commit c2892f02712e9516d72841d5c019ed6916329794 upstream.

GRE protocol receive hook can be called right after protocol addition is done.
If netns stuff is not yet initialized, we're going to oops in
net_generic().

This is remotely oopsable if ip_gre is compiled as module and packet
comes at unfortunate moment of module loading.

Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>net: don't allow CAP_NET_ADMIN to load non-netdev kernel modules</title>
<updated>2011-03-21T19:45:36Z</updated>
<author>
<name>Vasiliy Kulikov</name>
</author>
<published>2011-03-01T21:33:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=430681f49ab17c025d631d80436143286436a828'/>
<id>urn:sha1:430681f49ab17c025d631d80436143286436a828</id>
<content type='text'>
commit 8909c9ad8ff03611c9c96c9a92656213e4bb495b upstream.

Since a8f80e8ff94ecba629542d9b4b5f5a8ee3eb565c any process with
CAP_NET_ADMIN may load any module from /lib/modules/.  This doesn't mean
that CAP_NET_ADMIN is a superset of CAP_SYS_MODULE as modules are
limited to /lib/modules/**.  However, CAP_NET_ADMIN capability shouldn't
allow anybody load any module not related to networking.

This patch restricts an ability of autoloading modules to netdev modules
with explicit aliases.  This fixes CVE-2011-1019.

Arnd Bergmann suggested to leave untouched the old pre-v2.6.32 behavior
of loading netdev modules by name (without any prefix) for processes
with CAP_SYS_MODULE to maintain the compatibility with network scripts
that use autoloading netdev modules by aliases like "eth0", "wlan0".

Currently there are only three users of the feature in the upstream
kernel: ipip, ip_gre and sit.

    root@albatros:~# capsh --drop=$(seq -s, 0 11),$(seq -s, 13 34) --
    root@albatros:~# grep Cap /proc/$$/status
    CapInh:	0000000000000000
    CapPrm:	fffffff800001000
    CapEff:	fffffff800001000
    CapBnd:	fffffff800001000
    root@albatros:~# modprobe xfs
    FATAL: Error inserting xfs
    (/lib/modules/2.6.38-rc6-00001-g2bf4ca3/kernel/fs/xfs/xfs.ko): Operation not permitted
    root@albatros:~# lsmod | grep xfs
    root@albatros:~# ifconfig xfs
    xfs: error fetching interface information: Device not found
    root@albatros:~# lsmod | grep xfs
    root@albatros:~# lsmod | grep sit
    root@albatros:~# ifconfig sit
    sit: error fetching interface information: Device not found
    root@albatros:~# lsmod | grep sit
    root@albatros:~# ifconfig sit0
    sit0      Link encap:IPv6-in-IPv4
	      NOARP  MTU:1480  Metric:1

    root@albatros:~# lsmod | grep sit
    sit                    10457  0
    tunnel4                 2957  1 sit

For CAP_SYS_MODULE module loading is still relaxed:

    root@albatros:~# grep Cap /proc/$$/status
    CapInh:	0000000000000000
    CapPrm:	ffffffffffffffff
    CapEff:	ffffffffffffffff
    CapBnd:	ffffffffffffffff
    root@albatros:~# ifconfig xfs
    xfs: error fetching interface information: Device not found
    root@albatros:~# lsmod | grep xfs
    xfs                   745319  0

Reference: https://lkml.org/lkml/2011/2/24/203

Signed-off-by: Vasiliy Kulikov &lt;segoon@openwall.com&gt;
Signed-off-by: Michael Tokarev &lt;mjt@tls.msk.ru&gt;
Acked-by: David S. Miller &lt;davem@davemloft.net&gt;
Acked-by: Kees Cook &lt;kees.cook@canonical.com&gt;
Signed-off-by: James Morris &lt;jmorris@namei.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>ip_gre: include route header_len in max_headroom calculation</title>
<updated>2010-04-01T23:02:06Z</updated>
<author>
<name>Timo Teräs</name>
</author>
<published>2010-03-20T02:27:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=03017375b0122453e6dda833ff7bd4191915def5'/>
<id>urn:sha1:03017375b0122453e6dda833ff7bd4191915def5</id>
<content type='text'>
[ Upstream commit 243aad830e8a4cdda261626fbaeddde16b08d04a ]

Taking route's header_len into account, and updating gre device
needed_headroom will give better hints on upper bound of required
headroom. This is useful if the gre traffic is xfrm'ed.

Signed-off-by: Timo Teras &lt;timo.teras@iki.fi&gt;
Acked-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>net: Simplify ip_gre pernet operations.</title>
<updated>2009-12-02T00:15:57Z</updated>
<author>
<name>Eric W. Biederman</name>
</author>
<published>2009-11-29T15:46:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cfb8fbf2299d0e028ac59afd5b8c94ebe53d0859'/>
<id>urn:sha1:cfb8fbf2299d0e028ac59afd5b8c94ebe53d0859</id>
<content type='text'>
Take advantage of the new pernet automatic storage management,
and stop using compatibility network namespace functions.

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>netns: net_identifiers should be read_mostly</title>
<updated>2009-11-18T13:03:25Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2009-11-17T10:42:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f99189b186f3922ede4fa33c02f6edc735b8c981'/>
<id>urn:sha1:f99189b186f3922ede4fa33c02f6edc735b8c981</id>
<content type='text'>
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>net: Support specifying the network namespace upon device creation.</title>
<updated>2009-11-08T08:53:51Z</updated>
<author>
<name>Eric W. Biederman</name>
</author>
<published>2009-11-08T08:53:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=81adee47dfb608df3ad0b91d230fb3cef75f0060'/>
<id>urn:sha1:81adee47dfb608df3ad0b91d230fb3cef75f0060</id>
<content type='text'>
There is no good reason to not support userspace specifying the
network namespace during device creation, and it makes it easier
to create a network device and pass it to a child network namespace
with a well known name.

We have to be careful to ensure that the target network namespace
for the new device exists through the life of the call.  To keep
that logic clear I have factored out the network namespace grabbing
logic into rtnl_link_get_net.

In addtion we need to continue to pass the source network namespace
to the rtnl_link_ops.newlink method so that we can find the base
device source network namespace.

Signed-off-by: Eric W. Biederman &lt;ebiederm@aristanetworks.com&gt;
Acked-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6</title>
<updated>2009-11-06T08:55:55Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2009-11-06T08:55:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=230f9bb701d37ae9b48e96456689452978f5c439'/>
<id>urn:sha1:230f9bb701d37ae9b48e96456689452978f5c439</id>
<content type='text'>
Conflicts:
	drivers/net/usb/cdc_ether.c

All CDC ethernet devices of type USB_CLASS_COMM need to use
'&amp;mbm_info'.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>gre: Fix dev_addr clobbering for gretap</title>
<updated>2009-10-30T19:28:07Z</updated>
<author>
<name>Herbert Xu</name>
</author>
<published>2009-10-30T05:51:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2e9526b352061ee0fd2a1580a2e3a5af960dabc4'/>
<id>urn:sha1:2e9526b352061ee0fd2a1580a2e3a5af960dabc4</id>
<content type='text'>
Nathan Neulinger noticed that gretap devices get their MAC address
from the local IP address, which results in invalid MAC addresses
half of the time.

This is because gretap is still using the tunnel netdev ops rather
than the correct tap netdev ops struct.

This patch also fixes changelink to not clobber the MAC address
for the gretap case.

Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Acked-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Tested-by: Nathan Neulinger &lt;nneul@mst.edu&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>gre: Optimize multiple unregistration</title>
<updated>2009-10-28T09:22:09Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2009-10-27T07:07:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=eef6dd65e331d6e91a39b90344c705bbcbe0825e'/>
<id>urn:sha1:eef6dd65e331d6e91a39b90344c705bbcbe0825e</id>
<content type='text'>
Speedup module unloading by factorizing synchronize_rcu() calls

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>gre: convert hash tables locking to RCU</title>
<updated>2009-10-24T13:07:59Z</updated>
<author>
<name>Eric Dumazet</name>
</author>
<published>2009-10-23T06:14:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8d5b2c084d2e71587e30a6ef528a8a8051e59dcd'/>
<id>urn:sha1:8d5b2c084d2e71587e30a6ef528a8a8051e59dcd</id>
<content type='text'>
GRE tunnels use one rwlock to protect their hash tables.

This locking scheme can be converted to RCU for free, since netdevice
already must wait for a RCU grace period at dismantle time.

Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
