<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/net/core/netpoll.c, branch v2.6.22</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>[NETPOLL]: Fixups for 'fix soft lockup when removing module'</title>
<updated>2007-07-06T00:42:44+00:00</updated>
<author>
<name>Jarek Poplawski</name>
<email>jarkao2@o2.pl</email>
</author>
<published>2007-07-06T00:42:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=25442cafb8cc3d979418caccabc91260707a0947'/>
<id>25442cafb8cc3d979418caccabc91260707a0947</id>
<content type='text'>
&gt;From my recent patch:

&gt; &gt;    #1
&gt; &gt;    Until kernel ver. 2.6.21 (including) cancel_rearming_delayed_work()
&gt; &gt;    required a work function should always (unconditionally) rearm with
&gt; &gt;    delay &gt; 0 - otherwise it would endlessly loop. This patch replaces
&gt; &gt;    this function with cancel_delayed_work(). Later kernel versions don't
&gt; &gt;    require this, so here it's only for uniformity.

But Oleg Nesterov &lt;oleg@tv-sign.ru&gt; found:

&gt; But 2.6.22 doesn't need this change, why it was merged?
&gt; 
&gt; In fact, I suspect this change adds a race,
...

His description was right (thanks), so this patch reverts #1.

Signed-off-by: Jarek Poplawski &lt;jarkao2@o2.pl&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
&gt;From my recent patch:

&gt; &gt;    #1
&gt; &gt;    Until kernel ver. 2.6.21 (including) cancel_rearming_delayed_work()
&gt; &gt;    required a work function should always (unconditionally) rearm with
&gt; &gt;    delay &gt; 0 - otherwise it would endlessly loop. This patch replaces
&gt; &gt;    this function with cancel_delayed_work(). Later kernel versions don't
&gt; &gt;    require this, so here it's only for uniformity.

But Oleg Nesterov &lt;oleg@tv-sign.ru&gt; found:

&gt; But 2.6.22 doesn't need this change, why it was merged?
&gt; 
&gt; In fact, I suspect this change adds a race,
...

His description was right (thanks), so this patch reverts #1.

Signed-off-by: Jarek Poplawski &lt;jarkao2@o2.pl&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[NETPOLL] netconsole: fix soft lockup when removing module</title>
<updated>2007-06-29T05:11:47+00:00</updated>
<author>
<name>Jarek Poplawski</name>
<email>jarkao2@o2.pl</email>
</author>
<published>2007-06-29T05:11:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=17200811cf539b9107a99a39bf71ba3567966285'/>
<id>17200811cf539b9107a99a39bf71ba3567966285</id>
<content type='text'>
#1
Until kernel ver. 2.6.21 (including) cancel_rearming_delayed_work()
required a work function should always (unconditionally) rearm with
delay &gt; 0 - otherwise it would endlessly loop. This patch replaces
this function with cancel_delayed_work(). Later kernel versions don't
require this, so here it's only for uniformity.

#2
After deleting a timer in cancel_[rearming_]delayed_work() there could
stay a last skb queued in npinfo-&gt;txq causing a memory leak after
kfree(npinfo).

Initial patch &amp; testing by: Jason Wessel &lt;jason.wessel@windriver.com&gt;

Signed-off-by: Jarek Poplawski &lt;jarkao2@o2.pl&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
#1
Until kernel ver. 2.6.21 (including) cancel_rearming_delayed_work()
required a work function should always (unconditionally) rearm with
delay &gt; 0 - otherwise it would endlessly loop. This patch replaces
this function with cancel_delayed_work(). Later kernel versions don't
require this, so here it's only for uniformity.

#2
After deleting a timer in cancel_[rearming_]delayed_work() there could
stay a last skb queued in npinfo-&gt;txq causing a memory leak after
kfree(npinfo).

Initial patch &amp; testing by: Jason Wessel &lt;jason.wessel@windriver.com&gt;

Signed-off-by: Jarek Poplawski &lt;jarkao2@o2.pl&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[NETPOLL]: tx lock deadlock fix</title>
<updated>2007-06-27T07:39:42+00:00</updated>
<author>
<name>Stephen Hemminger</name>
<email>shemminger@linux.foundation.org</email>
</author>
<published>2007-06-27T07:39:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=0db3dc73f7a3a73b0dc725b6a991253f5652c905'/>
<id>0db3dc73f7a3a73b0dc725b6a991253f5652c905</id>
<content type='text'>
If sky2 device poll routine is called from netpoll_send_skb, it would
deadlock. The netpoll_send_skb held the netif_tx_lock, and the poll
routine could acquire it to clean up skb's. Other drivers might use
same locking model.

The driver is correct, netpoll should not introduce more locking
problems than it causes already. So change the code to drop lock
before calling poll handler.

Signed-off-by: Stephen Hemminger &lt;shemminger@linux.foundation.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If sky2 device poll routine is called from netpoll_send_skb, it would
deadlock. The netpoll_send_skb held the netif_tx_lock, and the poll
routine could acquire it to clean up skb's. Other drivers might use
same locking model.

The driver is correct, netpoll should not introduce more locking
problems than it causes already. So change the code to drop lock
before calling poll handler.

Signed-off-by: Stephen Hemminger &lt;shemminger@linux.foundation.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>header cleaning: don't include smp_lock.h when not used</title>
<updated>2007-05-08T18:15:07+00:00</updated>
<author>
<name>Randy Dunlap</name>
<email>randy.dunlap@oracle.com</email>
</author>
<published>2007-05-08T07:28:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=e63340ae6b6205fef26b40a75673d1c9c0c8bb90'/>
<id>e63340ae6b6205fef26b40a75673d1c9c0c8bb90</id>
<content type='text'>
Remove includes of &lt;linux/smp_lock.h&gt; where it is not used/needed.
Suggested by Al Viro.

Builds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,
sparc64, and arm (all 59 defconfigs).

Signed-off-by: Randy Dunlap &lt;randy.dunlap@oracle.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove includes of &lt;linux/smp_lock.h&gt; where it is not used/needed.
Suggested by Al Viro.

Builds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,
sparc64, and arm (all 59 defconfigs).

Signed-off-by: Randy Dunlap &lt;randy.dunlap@oracle.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[NET]: Treat CHECKSUM_PARTIAL as CHECKSUM_UNNECESSARY</title>
<updated>2007-04-26T05:28:43+00:00</updated>
<author>
<name>Herbert Xu</name>
<email>herbert@gondor.apana.org.au</email>
</author>
<published>2007-04-09T18:59:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=604763722c655c7e3f31ecf6f7b4dafcd26a7a15'/>
<id>604763722c655c7e3f31ecf6f7b4dafcd26a7a15</id>
<content type='text'>
When a transmitted packet is looped back directly, CHECKSUM_PARTIAL
maps to the semantics of CHECKSUM_UNNECESSARY.  Therefore we should
treat it as such in the stack.

Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a transmitted packet is looped back directly, CHECKSUM_PARTIAL
maps to the semantics of CHECKSUM_UNNECESSARY.  Therefore we should
treat it as such in the stack.

Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[SK_BUFF]: Introduce skb_copy_to_linear_data{_offset}</title>
<updated>2007-04-26T05:28:29+00:00</updated>
<author>
<name>Arnaldo Carvalho de Melo</name>
<email>acme@ghostprotocols.net</email>
</author>
<published>2007-03-31T14:55:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=27d7ff46a3498d3debc6ba68fb8014c702b81170'/>
<id>27d7ff46a3498d3debc6ba68fb8014c702b81170</id>
<content type='text'>
To clearly state the intent of copying to linear sk_buffs, _offset being a
overly long variant but interesting for the sake of saving some bytes.

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@ghostprotocols.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
To clearly state the intent of copying to linear sk_buffs, _offset being a
overly long variant but interesting for the sake of saving some bytes.

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@ghostprotocols.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[SK_BUFF]: Introduce udp_hdr(), remove skb-&gt;h.uh</title>
<updated>2007-04-26T05:25:22+00:00</updated>
<author>
<name>Arnaldo Carvalho de Melo</name>
<email>acme@redhat.com</email>
</author>
<published>2007-03-13T17:28:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=4bedb45203eab92a87b4c863fe2d0cded633427f'/>
<id>4bedb45203eab92a87b4c863fe2d0cded633427f</id>
<content type='text'>
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[SK_BUFF]: Introduce skb_reset_transport_header(skb)</title>
<updated>2007-04-26T05:25:15+00:00</updated>
<author>
<name>Arnaldo Carvalho de Melo</name>
<email>acme@redhat.com</email>
</author>
<published>2007-03-13T16:06:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=badff6d01a8589a1c828b0bf118903ca38627f4e'/>
<id>badff6d01a8589a1c828b0bf118903ca38627f4e</id>
<content type='text'>
For the common, open coded 'skb-&gt;h.raw = skb-&gt;data' operation, so that we can
later turn skb-&gt;h.raw into a offset, reducing the size of struct sk_buff in
64bit land while possibly keeping it as a pointer on 32bit.

This one touches just the most simple cases:

skb-&gt;h.raw = skb-&gt;data;
skb-&gt;h.raw = {skb_push|[__]skb_pull}()

The next ones will handle the slightly more "complex" cases.

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For the common, open coded 'skb-&gt;h.raw = skb-&gt;data' operation, so that we can
later turn skb-&gt;h.raw into a offset, reducing the size of struct sk_buff in
64bit land while possibly keeping it as a pointer on 32bit.

This one touches just the most simple cases:

skb-&gt;h.raw = skb-&gt;data;
skb-&gt;h.raw = {skb_push|[__]skb_pull}()

The next ones will handle the slightly more "complex" cases.

Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[SK_BUFF]: Introduce arp_hdr(), remove skb-&gt;nh.arph</title>
<updated>2007-04-26T05:25:12+00:00</updated>
<author>
<name>Arnaldo Carvalho de Melo</name>
<email>acme@redhat.com</email>
</author>
<published>2007-03-12T23:56:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=d0a92be05ed4aea7d35c2b257e3f9173565fe4eb'/>
<id>d0a92be05ed4aea7d35c2b257e3f9173565fe4eb</id>
<content type='text'>
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[SK_BUFF]: Introduce ip_hdr(), remove skb-&gt;nh.iph</title>
<updated>2007-04-26T05:25:10+00:00</updated>
<author>
<name>Arnaldo Carvalho de Melo</name>
<email>acme@redhat.com</email>
</author>
<published>2007-04-21T05:47:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=eddc9ec53be2ecdbf4efe0efd4a83052594f0ac0'/>
<id>eddc9ec53be2ecdbf4efe0efd4a83052594f0ac0</id>
<content type='text'>
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Arnaldo Carvalho de Melo &lt;acme@redhat.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
