<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/caif/cfcnfg.c, branch linux-3.5.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.5.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.5.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-01-28T02:06:03Z</updated>
<entry>
<title>net caif: Register properly as a pernet subsystem.</title>
<updated>2012-01-28T02:06:03Z</updated>
<author>
<name>Eric W. Biederman</name>
</author>
<published>2012-01-26T14:04:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8a8ee9aff6c3077dd9c2c7a77478e8ed362b96c6'/>
<id>urn:sha1:8a8ee9aff6c3077dd9c2c7a77478e8ed362b96c6</id>
<content type='text'>
caif is a subsystem and as such it needs to register with
register_pernet_subsys instead of register_pernet_device.

Among other problems using register_pernet_device was resulting in
net_generic being called before the caif_net structure was allocated.
Which has been causing net_generic to fail with either BUG_ON's or by
return NULL pointers.

A more ugly problem that could be caused is packets in flight why the
subsystem is shutting down.

To remove confusion also remove the cruft cause by inappropriately
trying to fix this bug.

With the aid of the previous patch I have tested this patch and
confirmed that using register_pernet_subsys makes the failure go away as
it should.

Signed-off-by: Eric W. Biederman &lt;ebiederm@xmission.com&gt;
Acked-by: Sjur Brændeland &lt;sjur.brandeland@stericsson.com&gt;
Tested-by: Sasha Levin &lt;levinsasha928@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>caif: Restructure how link caif link layer enroll</title>
<updated>2011-12-01T04:30:48Z</updated>
<author>
<name>sjur.brandeland@stericsson.com</name>
</author>
<published>2011-11-30T09:22:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7c18d2205ea76eef9674e59e1ecae4f332a53e9e'/>
<id>urn:sha1:7c18d2205ea76eef9674e59e1ecae4f332a53e9e</id>
<content type='text'>
Enrolling CAIF link layers are refactored.

Signed-off-by: Sjur Brændeland &lt;sjur.brandeland@stericsson.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>caif: add error handling for allocation</title>
<updated>2011-10-03T17:45:49Z</updated>
<author>
<name>Dan Carpenter</name>
</author>
<published>2011-09-20T21:21:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5bb20ed863f8573ecd1956f0ebd2c3d36e6e0585'/>
<id>urn:sha1:5bb20ed863f8573ecd1956f0ebd2c3d36e6e0585</id>
<content type='text'>
The allocation of "phyinfo" wasn't checked, and also the allocation
wasn't freed on error paths.  Sjur Brændeland pointed out as well
that "phy_driver" should be freed on the error path too.

Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Acked-by: Sjur Brændeland &lt;sjur.brandeland@stericsson.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>caif: Remove OOM messages, use kzalloc</title>
<updated>2011-08-28T21:16:13Z</updated>
<author>
<name>Joe Perches</name>
</author>
<published>2011-08-25T13:22:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7ac2ed0ceeafa130f85aa947b271b571c68b9e75'/>
<id>urn:sha1:7ac2ed0ceeafa130f85aa947b271b571c68b9e75</id>
<content type='text'>
Remove per site OOM messages because they duplicate
the generic mm subsystem OOM message.

Use kzalloc instead of kmalloc/memset
when next to the OOM message removals.

Reduces object size (allyesconfig ~2%)

$ size -t drivers/net/caif/built-in.o.old net/caif/built-in.o.old
   text	   data	    bss	    dec	    hex	filename
  32297	    700	   8224	  41221	   a105	drivers/net/caif/built-in.o.old
  72159	   1317	  20552	  94028	  16f4c	net/caif/built-in.o.old
 104456	   2017	  28776	 135249	  21051	(TOTALS)
$ size -t drivers/net/caif/built-in.o.new net/caif/built-in.o.new
   text	   data	    bss	    dec	    hex	filename
  31975	    700	   8184	  40859	   9f9b	drivers/net/caif/built-in.o.new
  70748	   1317	  20152	  92217	  16839	net/caif/built-in.o.new
 102723	   2017	  28336	 133076	  207d4	(TOTALS)

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>caif: Fixes freeze on Link layer removal.</title>
<updated>2011-05-23T00:11:47Z</updated>
<author>
<name>sjur.brandeland@stericsson.com</name>
</author>
<published>2011-05-22T11:18:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=54e90fb5ca8050156d3e748ddc690ed6ea9d71ac'/>
<id>urn:sha1:54e90fb5ca8050156d3e748ddc690ed6ea9d71ac</id>
<content type='text'>
CAIF Socket layer - caif_socket.c:
- Plug mem-leak at reconnect.
- Always call disconnect to cleanup CAIF stack.
- Disconnect will always report success.

CAIF configuration layer - cfcnfg.c
- Disconnect must dismantle the caif stack correctly
- Protect against faulty removals (check on id zero)

CAIF mux layer - cfmuxl.c
- When inserting new service layer in the MUX remove
  any old entries with the same ID.
- When removing CAIF Link layer, remove the associated
  service layers before notifying service layers.

Signed-off-by: Sjur Brændeland &lt;sjur.brandeland@stericsson.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>caif: remove unesesarry exports</title>
<updated>2011-05-15T21:45:56Z</updated>
<author>
<name>sjur.brandeland@stericsson.com</name>
</author>
<published>2011-05-13T02:44:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3f874adc4ae80828b79e8aac6891c108c1f6be6d'/>
<id>urn:sha1:3f874adc4ae80828b79e8aac6891c108c1f6be6d</id>
<content type='text'>
Signed-off-by: Sjur Brændeland &lt;sjur.brandeland@stericsson.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>caif: Handle dev_queue_xmit errors.</title>
<updated>2011-05-15T21:45:56Z</updated>
<author>
<name>sjur.brandeland@stericsson.com</name>
</author>
<published>2011-05-13T02:44:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c85c2951d4da1236e32f1858db418221e624aba5'/>
<id>urn:sha1:c85c2951d4da1236e32f1858db418221e624aba5</id>
<content type='text'>
Do proper handling of dev_queue_xmit errors in order to
avoid double free of skb and leaks in error conditions.
In cfctrl pending requests are removed when CAIF Link layer goes down.

Signed-off-by: Sjur Brændeland &lt;sjur.brandeland@stericsson.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>caif: prepare support for namespaces</title>
<updated>2011-05-15T21:45:55Z</updated>
<author>
<name>sjur.brandeland@stericsson.com</name>
</author>
<published>2011-05-13T02:44:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bee925db9a77a5736596dcf6f91d0879f5ee915b'/>
<id>urn:sha1:bee925db9a77a5736596dcf6f91d0879f5ee915b</id>
<content type='text'>
Use struct net to reference CAIF configuration object instead of static variables.
Refactor functions caif_connect_client, caif_disconnect_client and squach
files cfcnfg.c and caif_config_utils.

Signed-off-by: Sjur Brændeland &lt;sjur.brandeland@stericsson.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>caif: Add ref-count to framing layer</title>
<updated>2011-05-15T21:45:55Z</updated>
<author>
<name>sjur.brandeland@stericsson.com</name>
</author>
<published>2011-05-13T02:44:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cb3cb423a0f3c627639535e5d87977ae662d779f'/>
<id>urn:sha1:cb3cb423a0f3c627639535e5d87977ae662d779f</id>
<content type='text'>
Introduce Per-cpu reference for lower part of CAIF Stack.
Before freeing payload is disabled, synchronize_rcu() is called,
and then ref-count verified to be zero.

Signed-off-by: Sjur Brændeland &lt;sjur.brandeland@stericsson.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>caif: Use RCU and lists in cfcnfg.c for managing caif link layers</title>
<updated>2011-05-15T21:45:54Z</updated>
<author>
<name>sjur.brandeland@stericsson.com</name>
</author>
<published>2011-05-13T02:44:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f36214408470ecf6a052e76b72d05b2328b60fcf'/>
<id>urn:sha1:f36214408470ecf6a052e76b72d05b2328b60fcf</id>
<content type='text'>
RCU lists are used for handling the link layers instead of array.
When generating CAIF phy-id, ifindex is used as base. Legal range is 1-6.
Introduced set_phy_state() for managing CAIF Link layer state.

Signed-off-by: Sjur Brændeland &lt;sjur.brandeland@stericsson.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
