<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/net/core, branch v3.1-rc6</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>netpoll: fix incorrect access to skb data in __netpoll_rx</title>
<updated>2011-08-26T16:49:04+00:00</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2011-08-26T06:26:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=e9278a475f845833b569ca47171e64fe48c616e0'/>
<id>e9278a475f845833b569ca47171e64fe48c616e0</id>
<content type='text'>
__netpoll_rx() doesnt properly handle skbs with small header

pskb_may_pull() or pskb_trim_rcsum() can change skb-&gt;data, we must
reload it.

Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.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>
__netpoll_rx() doesnt properly handle skbs with small header

pskb_may_pull() or pskb_trim_rcsum() can change skb-&gt;data, we must
reload it.

Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>arp: fix rcu lockdep splat in arp_process()</title>
<updated>2011-08-25T00:55:00+00:00</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2011-08-22T19:32:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=20e6074eb8e096b3a595c093d1cb222f378cd671'/>
<id>20e6074eb8e096b3a595c093d1cb222f378cd671</id>
<content type='text'>
Dave Jones reported a lockdep splat triggered by an arp_process() call
from parp_redo().

Commit faa9dcf793be (arp: RCU changes) is the origin of the bug, since
it assumed arp_process() was called under rcu_read_lock(), which is not
true in this particular path.

Instead of adding rcu_read_lock() in parp_redo(), I chose to add it in
neigh_proxy_process() to take care of IPv6 side too.

 ===================================================
 [ INFO: suspicious rcu_dereference_check() usage. ]
 ---------------------------------------------------
 include/linux/inetdevice.h:209 invoked rcu_dereference_check() without
protection!

 other info that might help us debug this:

 rcu_scheduler_active = 1, debug_locks = 0
 4 locks held by setfiles/2123:
  #0:  (&amp;sb-&gt;s_type-&gt;i_mutex_key#13){+.+.+.}, at: [&lt;ffffffff8114cbc4&gt;]
walk_component+0x1ef/0x3e8
  #1:  (&amp;isec-&gt;lock){+.+.+.}, at: [&lt;ffffffff81204bca&gt;]
inode_doinit_with_dentry+0x3f/0x41f
  #2:  (&amp;tbl-&gt;proxy_timer){+.-...}, at: [&lt;ffffffff8106a803&gt;]
run_timer_softirq+0x157/0x372
  #3:  (class){+.-...}, at: [&lt;ffffffff8141f256&gt;] neigh_proxy_process
+0x36/0x103

 stack backtrace:
 Pid: 2123, comm: setfiles Tainted: G        W
3.1.0-0.rc2.git7.2.fc16.x86_64 #1
 Call Trace:
  &lt;IRQ&gt;  [&lt;ffffffff8108ca23&gt;] lockdep_rcu_dereference+0xa7/0xaf
  [&lt;ffffffff8146a0b7&gt;] __in_dev_get_rcu+0x55/0x5d
  [&lt;ffffffff8146a751&gt;] arp_process+0x25/0x4d7
  [&lt;ffffffff8146ac11&gt;] parp_redo+0xe/0x10
  [&lt;ffffffff8141f2ba&gt;] neigh_proxy_process+0x9a/0x103
  [&lt;ffffffff8106a8c4&gt;] run_timer_softirq+0x218/0x372
  [&lt;ffffffff8106a803&gt;] ? run_timer_softirq+0x157/0x372
  [&lt;ffffffff8141f220&gt;] ? neigh_stat_seq_open+0x41/0x41
  [&lt;ffffffff8108f2f0&gt;] ? mark_held_locks+0x6d/0x95
  [&lt;ffffffff81062bb6&gt;] __do_softirq+0x112/0x25a
  [&lt;ffffffff8150d27c&gt;] call_softirq+0x1c/0x30
  [&lt;ffffffff81010bf5&gt;] do_softirq+0x4b/0xa2
  [&lt;ffffffff81062f65&gt;] irq_exit+0x5d/0xcf
  [&lt;ffffffff8150dc11&gt;] smp_apic_timer_interrupt+0x7c/0x8a
  [&lt;ffffffff8150baf3&gt;] apic_timer_interrupt+0x73/0x80
  &lt;EOI&gt;  [&lt;ffffffff8108f439&gt;] ? trace_hardirqs_on_caller+0x121/0x158
  [&lt;ffffffff814fc285&gt;] ? __slab_free+0x30/0x24c
  [&lt;ffffffff814fc283&gt;] ? __slab_free+0x2e/0x24c
  [&lt;ffffffff81204e74&gt;] ? inode_doinit_with_dentry+0x2e9/0x41f
  [&lt;ffffffff81204e74&gt;] ? inode_doinit_with_dentry+0x2e9/0x41f
  [&lt;ffffffff81204e74&gt;] ? inode_doinit_with_dentry+0x2e9/0x41f
  [&lt;ffffffff81130cb0&gt;] kfree+0x108/0x131
  [&lt;ffffffff81204e74&gt;] inode_doinit_with_dentry+0x2e9/0x41f
  [&lt;ffffffff81204fc6&gt;] selinux_d_instantiate+0x1c/0x1e
  [&lt;ffffffff81200f4f&gt;] security_d_instantiate+0x21/0x23
  [&lt;ffffffff81154625&gt;] d_instantiate+0x5c/0x61
  [&lt;ffffffff811563ca&gt;] d_splice_alias+0xbc/0xd2
  [&lt;ffffffff811b17ff&gt;] ext4_lookup+0xba/0xeb
  [&lt;ffffffff8114bf1e&gt;] d_alloc_and_lookup+0x45/0x6b
  [&lt;ffffffff8114cbea&gt;] walk_component+0x215/0x3e8
  [&lt;ffffffff8114cdf8&gt;] lookup_last+0x3b/0x3d
  [&lt;ffffffff8114daf3&gt;] path_lookupat+0x82/0x2af
  [&lt;ffffffff8110fc53&gt;] ? might_fault+0xa5/0xac
  [&lt;ffffffff8110fc0a&gt;] ? might_fault+0x5c/0xac
  [&lt;ffffffff8114c564&gt;] ? getname_flags+0x31/0x1ca
  [&lt;ffffffff8114dd48&gt;] do_path_lookup+0x28/0x97
  [&lt;ffffffff8114df2c&gt;] user_path_at+0x59/0x96
  [&lt;ffffffff811467ad&gt;] ? cp_new_stat+0xf7/0x10d
  [&lt;ffffffff811469a6&gt;] vfs_fstatat+0x44/0x6e
  [&lt;ffffffff811469ee&gt;] vfs_lstat+0x1e/0x20
  [&lt;ffffffff81146b3d&gt;] sys_newlstat+0x1a/0x33
  [&lt;ffffffff8108f439&gt;] ? trace_hardirqs_on_caller+0x121/0x158
  [&lt;ffffffff812535fe&gt;] ? trace_hardirqs_on_thunk+0x3a/0x3f
  [&lt;ffffffff8150af82&gt;] system_call_fastpath+0x16/0x1b

Reported-by: Dave Jones &lt;davej@redhat.com&gt;
Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.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>
Dave Jones reported a lockdep splat triggered by an arp_process() call
from parp_redo().

Commit faa9dcf793be (arp: RCU changes) is the origin of the bug, since
it assumed arp_process() was called under rcu_read_lock(), which is not
true in this particular path.

Instead of adding rcu_read_lock() in parp_redo(), I chose to add it in
neigh_proxy_process() to take care of IPv6 side too.

 ===================================================
 [ INFO: suspicious rcu_dereference_check() usage. ]
 ---------------------------------------------------
 include/linux/inetdevice.h:209 invoked rcu_dereference_check() without
protection!

 other info that might help us debug this:

 rcu_scheduler_active = 1, debug_locks = 0
 4 locks held by setfiles/2123:
  #0:  (&amp;sb-&gt;s_type-&gt;i_mutex_key#13){+.+.+.}, at: [&lt;ffffffff8114cbc4&gt;]
walk_component+0x1ef/0x3e8
  #1:  (&amp;isec-&gt;lock){+.+.+.}, at: [&lt;ffffffff81204bca&gt;]
inode_doinit_with_dentry+0x3f/0x41f
  #2:  (&amp;tbl-&gt;proxy_timer){+.-...}, at: [&lt;ffffffff8106a803&gt;]
run_timer_softirq+0x157/0x372
  #3:  (class){+.-...}, at: [&lt;ffffffff8141f256&gt;] neigh_proxy_process
+0x36/0x103

 stack backtrace:
 Pid: 2123, comm: setfiles Tainted: G        W
3.1.0-0.rc2.git7.2.fc16.x86_64 #1
 Call Trace:
  &lt;IRQ&gt;  [&lt;ffffffff8108ca23&gt;] lockdep_rcu_dereference+0xa7/0xaf
  [&lt;ffffffff8146a0b7&gt;] __in_dev_get_rcu+0x55/0x5d
  [&lt;ffffffff8146a751&gt;] arp_process+0x25/0x4d7
  [&lt;ffffffff8146ac11&gt;] parp_redo+0xe/0x10
  [&lt;ffffffff8141f2ba&gt;] neigh_proxy_process+0x9a/0x103
  [&lt;ffffffff8106a8c4&gt;] run_timer_softirq+0x218/0x372
  [&lt;ffffffff8106a803&gt;] ? run_timer_softirq+0x157/0x372
  [&lt;ffffffff8141f220&gt;] ? neigh_stat_seq_open+0x41/0x41
  [&lt;ffffffff8108f2f0&gt;] ? mark_held_locks+0x6d/0x95
  [&lt;ffffffff81062bb6&gt;] __do_softirq+0x112/0x25a
  [&lt;ffffffff8150d27c&gt;] call_softirq+0x1c/0x30
  [&lt;ffffffff81010bf5&gt;] do_softirq+0x4b/0xa2
  [&lt;ffffffff81062f65&gt;] irq_exit+0x5d/0xcf
  [&lt;ffffffff8150dc11&gt;] smp_apic_timer_interrupt+0x7c/0x8a
  [&lt;ffffffff8150baf3&gt;] apic_timer_interrupt+0x73/0x80
  &lt;EOI&gt;  [&lt;ffffffff8108f439&gt;] ? trace_hardirqs_on_caller+0x121/0x158
  [&lt;ffffffff814fc285&gt;] ? __slab_free+0x30/0x24c
  [&lt;ffffffff814fc283&gt;] ? __slab_free+0x2e/0x24c
  [&lt;ffffffff81204e74&gt;] ? inode_doinit_with_dentry+0x2e9/0x41f
  [&lt;ffffffff81204e74&gt;] ? inode_doinit_with_dentry+0x2e9/0x41f
  [&lt;ffffffff81204e74&gt;] ? inode_doinit_with_dentry+0x2e9/0x41f
  [&lt;ffffffff81130cb0&gt;] kfree+0x108/0x131
  [&lt;ffffffff81204e74&gt;] inode_doinit_with_dentry+0x2e9/0x41f
  [&lt;ffffffff81204fc6&gt;] selinux_d_instantiate+0x1c/0x1e
  [&lt;ffffffff81200f4f&gt;] security_d_instantiate+0x21/0x23
  [&lt;ffffffff81154625&gt;] d_instantiate+0x5c/0x61
  [&lt;ffffffff811563ca&gt;] d_splice_alias+0xbc/0xd2
  [&lt;ffffffff811b17ff&gt;] ext4_lookup+0xba/0xeb
  [&lt;ffffffff8114bf1e&gt;] d_alloc_and_lookup+0x45/0x6b
  [&lt;ffffffff8114cbea&gt;] walk_component+0x215/0x3e8
  [&lt;ffffffff8114cdf8&gt;] lookup_last+0x3b/0x3d
  [&lt;ffffffff8114daf3&gt;] path_lookupat+0x82/0x2af
  [&lt;ffffffff8110fc53&gt;] ? might_fault+0xa5/0xac
  [&lt;ffffffff8110fc0a&gt;] ? might_fault+0x5c/0xac
  [&lt;ffffffff8114c564&gt;] ? getname_flags+0x31/0x1ca
  [&lt;ffffffff8114dd48&gt;] do_path_lookup+0x28/0x97
  [&lt;ffffffff8114df2c&gt;] user_path_at+0x59/0x96
  [&lt;ffffffff811467ad&gt;] ? cp_new_stat+0xf7/0x10d
  [&lt;ffffffff811469a6&gt;] vfs_fstatat+0x44/0x6e
  [&lt;ffffffff811469ee&gt;] vfs_lstat+0x1e/0x20
  [&lt;ffffffff81146b3d&gt;] sys_newlstat+0x1a/0x33
  [&lt;ffffffff8108f439&gt;] ? trace_hardirqs_on_caller+0x121/0x158
  [&lt;ffffffff812535fe&gt;] ? trace_hardirqs_on_thunk+0x3a/0x3f
  [&lt;ffffffff8150af82&gt;] system_call_fastpath+0x16/0x1b

Reported-by: Dave Jones &lt;davej@redhat.com&gt;
Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>scm: Capture the full credentials of the scm sender</title>
<updated>2011-08-11T12:52:57+00:00</updated>
<author>
<name>Tim Chen</name>
<email>tim.c.chen@linux.intel.com</email>
</author>
<published>2011-08-09T06:48:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=e33f7a9f37d486f4c6cce5de18a6eea11d68f64f'/>
<id>e33f7a9f37d486f4c6cce5de18a6eea11d68f64f</id>
<content type='text'>
This patch corrects an erroneous update of credential's gid with uid
introduced in commit 257b5358b32f17 since 2.6.36.

Signed-off-by: Tim Chen &lt;tim.c.chen@linux.intel.com&gt;
Acked-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Reviewed-by: James Morris &lt;jmorris@namei.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>
This patch corrects an erroneous update of credential's gid with uid
introduced in commit 257b5358b32f17 since 2.6.36.

Signed-off-by: Tim Chen &lt;tim.c.chen@linux.intel.com&gt;
Acked-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Reviewed-by: James Morris &lt;jmorris@namei.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: Compute protocol sequence numbers and fragment IDs using MD5.</title>
<updated>2011-08-07T01:33:19+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2011-08-04T03:50:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=6e5714eaf77d79ae1c8b47e3e040ff5411b717ec'/>
<id>6e5714eaf77d79ae1c8b47e3e040ff5411b717ec</id>
<content type='text'>
Computers have become a lot faster since we compromised on the
partial MD4 hash which we use currently for performance reasons.

MD5 is a much safer choice, and is inline with both RFC1948 and
other ISS generators (OpenBSD, Solaris, etc.)

Furthermore, only having 24-bits of the sequence number be truly
unpredictable is a very serious limitation.  So the periodic
regeneration and 8-bit counter have been removed.  We compute and
use a full 32-bit sequence number.

For ipv6, DCCP was found to use a 32-bit truncated initial sequence
number (it needs 43-bits) and that is fixed here as well.

Reported-by: Dan Kaminsky &lt;dan@doxpara.com&gt;
Tested-by: Willy Tarreau &lt;w@1wt.eu&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>
Computers have become a lot faster since we compromised on the
partial MD4 hash which we use currently for performance reasons.

MD5 is a much safer choice, and is inline with both RFC1948 and
other ISS generators (OpenBSD, Solaris, etc.)

Furthermore, only having 24-bits of the sequence number be truly
unpredictable is a very serious limitation.  So the periodic
regeneration and 8-bit counter have been removed.  We compute and
use a full 32-bit sequence number.

For ipv6, DCCP was found to use a 32-bit truncated initial sequence
number (it needs 43-bits) and that is fixed here as well.

Reported-by: Dan Kaminsky &lt;dan@doxpara.com&gt;
Tested-by: Willy Tarreau &lt;w@1wt.eu&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: add kerneldoc to skb_copy_bits()</title>
<updated>2011-08-02T01:03:06+00:00</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2011-07-29T18:37:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=22019b17821ab3543090827491e465c5816cbcd6'/>
<id>22019b17821ab3543090827491e465c5816cbcd6</id>
<content type='text'>
Since skb_copy_bits() is called from assembly, add a fat comment to make
clear we should think twice before changing its prototype.

Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.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>
Since skb_copy_bits() is called from assembly, add a fat comment to make
clear we should think twice before changing its prototype.

Signed-off-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2011-07-28T12:58:19+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-07-28T12:58:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=d5eab9152a3b4ce962c02ad0a0e4d0ec94aadd92'/>
<id>d5eab9152a3b4ce962c02ad0a0e4d0ec94aadd92</id>
<content type='text'>
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (32 commits)
  tg3: Remove 5719 jumbo frames and TSO blocks
  tg3: Break larger frags into 4k chunks for 5719
  tg3: Add tx BD budgeting code
  tg3: Consolidate code that calls tg3_tx_set_bd()
  tg3: Add partial fragment unmapping code
  tg3: Generalize tg3_skb_error_unmap()
  tg3: Remove short DMA check for 1st fragment
  tg3: Simplify tx bd assignments
  tg3: Reintroduce tg3_tx_ring_info
  ASIX: Use only 11 bits of header for data size
  ASIX: Simplify condition in rx_fixup()
  Fix cdc-phonet build
  bonding: reduce noise during init
  bonding: fix string comparison errors
  net: Audit drivers to identify those needing IFF_TX_SKB_SHARING cleared
  net: add IFF_SKB_TX_SHARED flag to priv_flags
  net: sock_sendmsg_nosec() is static
  forcedeth: fix vlans
  gianfar: fix bug caused by 87c288c6e9aa31720b72e2bc2d665e24e1653c3e
  gro: Only reset frag0 when skb can be pulled
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (32 commits)
  tg3: Remove 5719 jumbo frames and TSO blocks
  tg3: Break larger frags into 4k chunks for 5719
  tg3: Add tx BD budgeting code
  tg3: Consolidate code that calls tg3_tx_set_bd()
  tg3: Add partial fragment unmapping code
  tg3: Generalize tg3_skb_error_unmap()
  tg3: Remove short DMA check for 1st fragment
  tg3: Simplify tx bd assignments
  tg3: Reintroduce tg3_tx_ring_info
  ASIX: Use only 11 bits of header for data size
  ASIX: Simplify condition in rx_fixup()
  Fix cdc-phonet build
  bonding: reduce noise during init
  bonding: fix string comparison errors
  net: Audit drivers to identify those needing IFF_TX_SKB_SHARING cleared
  net: add IFF_SKB_TX_SHARED flag to priv_flags
  net: sock_sendmsg_nosec() is static
  forcedeth: fix vlans
  gianfar: fix bug caused by 87c288c6e9aa31720b72e2bc2d665e24e1653c3e
  gro: Only reset frag0 when skb can be pulled
  ...
</pre>
</div>
</content>
</entry>
<entry>
<title>net: add IFF_SKB_TX_SHARED flag to priv_flags</title>
<updated>2011-07-28T05:39:30+00:00</updated>
<author>
<name>Neil Horman</name>
<email>nhorman@tuxdriver.com</email>
</author>
<published>2011-07-26T06:05:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=d8873315065f1f527c7c380402cf59b1e1d0ae36'/>
<id>d8873315065f1f527c7c380402cf59b1e1d0ae36</id>
<content type='text'>
Pktgen attempts to transmit shared skbs to net devices, which can't be used by
some drivers as they keep state information in skbs.  This patch adds a flag
marking drivers as being able to handle shared skbs in their tx path.  Drivers
are defaulted to being unable to do so, but calling ether_setup enables this
flag, as 90% of the drivers calling ether_setup touch real hardware and can
handle shared skbs.  A subsequent patch will audit drivers to ensure that the
flag is set properly

Signed-off-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
Reported-by: Jiri Pirko &lt;jpirko@redhat.com&gt;
CC: Robert Olsson &lt;robert.olsson@its.uu.se&gt;
CC: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
CC: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
CC: David S. Miller &lt;davem@davemloft.net&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>
Pktgen attempts to transmit shared skbs to net devices, which can't be used by
some drivers as they keep state information in skbs.  This patch adds a flag
marking drivers as being able to handle shared skbs in their tx path.  Drivers
are defaulted to being unable to do so, but calling ether_setup enables this
flag, as 90% of the drivers calling ether_setup touch real hardware and can
handle shared skbs.  A subsequent patch will audit drivers to ensure that the
flag is set properly

Signed-off-by: Neil Horman &lt;nhorman@tuxdriver.com&gt;
Reported-by: Jiri Pirko &lt;jpirko@redhat.com&gt;
CC: Robert Olsson &lt;robert.olsson@its.uu.se&gt;
CC: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
CC: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
CC: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>atomic: use &lt;linux/atomic.h&gt;</title>
<updated>2011-07-26T23:49:47+00:00</updated>
<author>
<name>Arun Sharma</name>
<email>asharma@fb.com</email>
</author>
<published>2011-07-26T23:09:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=60063497a95e716c9a689af3be2687d261f115b4'/>
<id>60063497a95e716c9a689af3be2687d261f115b4</id>
<content type='text'>
This allows us to move duplicated code in &lt;asm/atomic.h&gt;
(atomic_inc_not_zero() for now) to &lt;linux/atomic.h&gt;

Signed-off-by: Arun Sharma &lt;asharma@fb.com&gt;
Reviewed-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: David Miller &lt;davem@davemloft.net&gt;
Cc: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Acked-by: Mike Frysinger &lt;vapier@gentoo.org&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>
This allows us to move duplicated code in &lt;asm/atomic.h&gt;
(atomic_inc_not_zero() for now) to &lt;linux/atomic.h&gt;

Signed-off-by: Arun Sharma &lt;asharma@fb.com&gt;
Reviewed-by: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: David Miller &lt;davem@davemloft.net&gt;
Cc: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Acked-by: Mike Frysinger &lt;vapier@gentoo.org&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: Convert struct net_device uc_promisc to bool</title>
<updated>2011-07-25T23:17:35+00:00</updated>
<author>
<name>Joe Perches</name>
<email>joe@perches.com</email>
</author>
<published>2011-07-25T23:17:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=2d348d1f569f051d2609b04d27bb55cd25eda8fe'/>
<id>2d348d1f569f051d2609b04d27bb55cd25eda8fe</id>
<content type='text'>
No need to use int, its uses are boolean.
May save a few bytes one day.

Signed-off-by: Joe Perches &lt;joe@perches.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>
No need to use int, its uses are boolean.
May save a few bytes one day.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>net: allow netif_carrier to be called safely from IRQ</title>
<updated>2011-07-23T00:01:14+00:00</updated>
<author>
<name>stephen hemminger</name>
<email>shemminger@vyatta.com</email>
</author>
<published>2011-07-22T12:53:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=1821f7cd65ad9ea56580b830ac79bf4c4fef59cb'/>
<id>1821f7cd65ad9ea56580b830ac79bf4c4fef59cb</id>
<content type='text'>
As reported by Ben Greer and Froncois Romieu. The code path in
the netif_carrier code leads it to try and disable
a late workqueue to reenable it immediately
netif_carrier_on
-&gt; linkwatch_fire_event
   -&gt; linkwatch_schedule_work
      -&gt; cancel_delayed_work
         -&gt; del_timer_sync

If __cancel_delayed_work is used instead then there is no
problem of waiting for running linkwatch_event.

There is a race between linkwatch_event running re-scheduling
but it is harmless to schedule an extra scan of the linkwatch queue.

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.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>
As reported by Ben Greer and Froncois Romieu. The code path in
the netif_carrier code leads it to try and disable
a late workqueue to reenable it immediately
netif_carrier_on
-&gt; linkwatch_fire_event
   -&gt; linkwatch_schedule_work
      -&gt; cancel_delayed_work
         -&gt; del_timer_sync

If __cancel_delayed_work is used instead then there is no
problem of waiting for running linkwatch_event.

There is a race between linkwatch_event running re-scheduling
but it is harmless to schedule an extra scan of the linkwatch queue.

Signed-off-by: Stephen Hemminger &lt;shemminger@vyatta.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
</feed>
