<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/include, branch v3.2-rc7</title>
<subtitle>Linux kernel source tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/'/>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs</title>
<updated>2011-12-24T05:47:28+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-12-24T05:47:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=a22681fabb1564d00d54e804ec95ba9330d857ed'/>
<id>a22681fabb1564d00d54e804ec95ba9330d857ed</id>
<content type='text'>
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  VFS: Fix race between CPU hotplug and lglocks
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  VFS: Fix race between CPU hotplug and lglocks
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'writeback' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux</title>
<updated>2011-12-24T04:25:36+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-12-24T04:25:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=6d451c578c7222c7e9305c2e776a654dc6ec06c3'/>
<id>6d451c578c7222c7e9305c2e776a654dc6ec06c3</id>
<content type='text'>
for linus: writeback reason binary tracing format fix

* tag 'writeback' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:
  writeback: show writeback reason with __print_symbolic
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
for linus: writeback reason binary tracing format fix

* tag 'writeback' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:
  writeback: show writeback reason with __print_symbolic
</pre>
</div>
</content>
</entry>
<entry>
<title>net: relax rcvbuf limits</title>
<updated>2011-12-23T07:15:14+00:00</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2011-12-21T07:11:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=0fd7bac6b6157eed6cf0cb86a1e88ba29e57c033'/>
<id>0fd7bac6b6157eed6cf0cb86a1e88ba29e57c033</id>
<content type='text'>
skb-&gt;truesize might be big even for a small packet.

Its even bigger after commit 87fb4b7b533 (net: more accurate skb
truesize) and big MTU.

We should allow queueing at least one packet per receiver, even with a
low RCVBUF setting.

Reported-by: Michal Simek &lt;monstr@monstr.eu&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>
skb-&gt;truesize might be big even for a small packet.

Its even bigger after commit 87fb4b7b533 (net: more accurate skb
truesize) and big MTU.

We should allow queueing at least one packet per receiver, even with a
low RCVBUF setting.

Reported-by: Michal Simek &lt;monstr@monstr.eu&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>net: introduce DST_NOPEER dst flag</title>
<updated>2011-12-23T03:34:56+00:00</updated>
<author>
<name>Eric Dumazet</name>
<email>eric.dumazet@gmail.com</email>
</author>
<published>2011-12-22T04:15:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=e688a604807647c9450f9c12a7cb6d027150a895'/>
<id>e688a604807647c9450f9c12a7cb6d027150a895</id>
<content type='text'>
Chris Boot reported crashes occurring in ipv6_select_ident().

[  461.457562] RIP: 0010:[&lt;ffffffff812dde61&gt;]  [&lt;ffffffff812dde61&gt;]
ipv6_select_ident+0x31/0xa7

[  461.578229] Call Trace:
[  461.580742] &lt;IRQ&gt;
[  461.582870]  [&lt;ffffffff812efa7f&gt;] ? udp6_ufo_fragment+0x124/0x1a2
[  461.589054]  [&lt;ffffffff812dbfe0&gt;] ? ipv6_gso_segment+0xc0/0x155
[  461.595140]  [&lt;ffffffff812700c6&gt;] ? skb_gso_segment+0x208/0x28b
[  461.601198]  [&lt;ffffffffa03f236b&gt;] ? ipv6_confirm+0x146/0x15e
[nf_conntrack_ipv6]
[  461.608786]  [&lt;ffffffff81291c4d&gt;] ? nf_iterate+0x41/0x77
[  461.614227]  [&lt;ffffffff81271d64&gt;] ? dev_hard_start_xmit+0x357/0x543
[  461.620659]  [&lt;ffffffff81291cf6&gt;] ? nf_hook_slow+0x73/0x111
[  461.626440]  [&lt;ffffffffa0379745&gt;] ? br_parse_ip_options+0x19a/0x19a
[bridge]
[  461.633581]  [&lt;ffffffff812722ff&gt;] ? dev_queue_xmit+0x3af/0x459
[  461.639577]  [&lt;ffffffffa03747d2&gt;] ? br_dev_queue_push_xmit+0x72/0x76
[bridge]
[  461.646887]  [&lt;ffffffffa03791e3&gt;] ? br_nf_post_routing+0x17d/0x18f
[bridge]
[  461.653997]  [&lt;ffffffff81291c4d&gt;] ? nf_iterate+0x41/0x77
[  461.659473]  [&lt;ffffffffa0374760&gt;] ? br_flood+0xfa/0xfa [bridge]
[  461.665485]  [&lt;ffffffff81291cf6&gt;] ? nf_hook_slow+0x73/0x111
[  461.671234]  [&lt;ffffffffa0374760&gt;] ? br_flood+0xfa/0xfa [bridge]
[  461.677299]  [&lt;ffffffffa0379215&gt;] ?
nf_bridge_update_protocol+0x20/0x20 [bridge]
[  461.684891]  [&lt;ffffffffa03bb0e5&gt;] ? nf_ct_zone+0xa/0x17 [nf_conntrack]
[  461.691520]  [&lt;ffffffffa0374760&gt;] ? br_flood+0xfa/0xfa [bridge]
[  461.697572]  [&lt;ffffffffa0374812&gt;] ? NF_HOOK.constprop.8+0x3c/0x56
[bridge]
[  461.704616]  [&lt;ffffffffa0379031&gt;] ?
nf_bridge_push_encap_header+0x1c/0x26 [bridge]
[  461.712329]  [&lt;ffffffffa037929f&gt;] ? br_nf_forward_finish+0x8a/0x95
[bridge]
[  461.719490]  [&lt;ffffffffa037900a&gt;] ?
nf_bridge_pull_encap_header+0x1c/0x27 [bridge]
[  461.727223]  [&lt;ffffffffa0379974&gt;] ? br_nf_forward_ip+0x1c0/0x1d4 [bridge]
[  461.734292]  [&lt;ffffffff81291c4d&gt;] ? nf_iterate+0x41/0x77
[  461.739758]  [&lt;ffffffffa03748cc&gt;] ? __br_deliver+0xa0/0xa0 [bridge]
[  461.746203]  [&lt;ffffffff81291cf6&gt;] ? nf_hook_slow+0x73/0x111
[  461.751950]  [&lt;ffffffffa03748cc&gt;] ? __br_deliver+0xa0/0xa0 [bridge]
[  461.758378]  [&lt;ffffffffa037533a&gt;] ? NF_HOOK.constprop.4+0x56/0x56
[bridge]

This is caused by bridge netfilter special dst_entry (fake_rtable), a
special shared entry, where attaching an inetpeer makes no sense.

Problem is present since commit 87c48fa3b46 (ipv6: make fragment
identifications less predictable)

Introduce DST_NOPEER dst flag and make sure ipv6_select_ident() and
__ip_select_ident() fallback to the 'no peer attached' handling.

Reported-by: Chris Boot &lt;bootc@bootc.net&gt;
Tested-by: Chris Boot &lt;bootc@bootc.net&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>
Chris Boot reported crashes occurring in ipv6_select_ident().

[  461.457562] RIP: 0010:[&lt;ffffffff812dde61&gt;]  [&lt;ffffffff812dde61&gt;]
ipv6_select_ident+0x31/0xa7

[  461.578229] Call Trace:
[  461.580742] &lt;IRQ&gt;
[  461.582870]  [&lt;ffffffff812efa7f&gt;] ? udp6_ufo_fragment+0x124/0x1a2
[  461.589054]  [&lt;ffffffff812dbfe0&gt;] ? ipv6_gso_segment+0xc0/0x155
[  461.595140]  [&lt;ffffffff812700c6&gt;] ? skb_gso_segment+0x208/0x28b
[  461.601198]  [&lt;ffffffffa03f236b&gt;] ? ipv6_confirm+0x146/0x15e
[nf_conntrack_ipv6]
[  461.608786]  [&lt;ffffffff81291c4d&gt;] ? nf_iterate+0x41/0x77
[  461.614227]  [&lt;ffffffff81271d64&gt;] ? dev_hard_start_xmit+0x357/0x543
[  461.620659]  [&lt;ffffffff81291cf6&gt;] ? nf_hook_slow+0x73/0x111
[  461.626440]  [&lt;ffffffffa0379745&gt;] ? br_parse_ip_options+0x19a/0x19a
[bridge]
[  461.633581]  [&lt;ffffffff812722ff&gt;] ? dev_queue_xmit+0x3af/0x459
[  461.639577]  [&lt;ffffffffa03747d2&gt;] ? br_dev_queue_push_xmit+0x72/0x76
[bridge]
[  461.646887]  [&lt;ffffffffa03791e3&gt;] ? br_nf_post_routing+0x17d/0x18f
[bridge]
[  461.653997]  [&lt;ffffffff81291c4d&gt;] ? nf_iterate+0x41/0x77
[  461.659473]  [&lt;ffffffffa0374760&gt;] ? br_flood+0xfa/0xfa [bridge]
[  461.665485]  [&lt;ffffffff81291cf6&gt;] ? nf_hook_slow+0x73/0x111
[  461.671234]  [&lt;ffffffffa0374760&gt;] ? br_flood+0xfa/0xfa [bridge]
[  461.677299]  [&lt;ffffffffa0379215&gt;] ?
nf_bridge_update_protocol+0x20/0x20 [bridge]
[  461.684891]  [&lt;ffffffffa03bb0e5&gt;] ? nf_ct_zone+0xa/0x17 [nf_conntrack]
[  461.691520]  [&lt;ffffffffa0374760&gt;] ? br_flood+0xfa/0xfa [bridge]
[  461.697572]  [&lt;ffffffffa0374812&gt;] ? NF_HOOK.constprop.8+0x3c/0x56
[bridge]
[  461.704616]  [&lt;ffffffffa0379031&gt;] ?
nf_bridge_push_encap_header+0x1c/0x26 [bridge]
[  461.712329]  [&lt;ffffffffa037929f&gt;] ? br_nf_forward_finish+0x8a/0x95
[bridge]
[  461.719490]  [&lt;ffffffffa037900a&gt;] ?
nf_bridge_pull_encap_header+0x1c/0x27 [bridge]
[  461.727223]  [&lt;ffffffffa0379974&gt;] ? br_nf_forward_ip+0x1c0/0x1d4 [bridge]
[  461.734292]  [&lt;ffffffff81291c4d&gt;] ? nf_iterate+0x41/0x77
[  461.739758]  [&lt;ffffffffa03748cc&gt;] ? __br_deliver+0xa0/0xa0 [bridge]
[  461.746203]  [&lt;ffffffff81291cf6&gt;] ? nf_hook_slow+0x73/0x111
[  461.751950]  [&lt;ffffffffa03748cc&gt;] ? __br_deliver+0xa0/0xa0 [bridge]
[  461.758378]  [&lt;ffffffffa037533a&gt;] ? NF_HOOK.constprop.4+0x56/0x56
[bridge]

This is caused by bridge netfilter special dst_entry (fake_rtable), a
special shared entry, where attaching an inetpeer makes no sense.

Problem is present since commit 87c48fa3b46 (ipv6: make fragment
identifications less predictable)

Introduce DST_NOPEER dst flag and make sure ipv6_select_ident() and
__ip_select_ident() fallback to the 'no peer attached' handling.

Reported-by: Chris Boot &lt;bootc@bootc.net&gt;
Tested-by: Chris Boot &lt;bootc@bootc.net&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>VFS: Fix race between CPU hotplug and lglocks</title>
<updated>2011-12-22T07:02:20+00:00</updated>
<author>
<name>Srivatsa S. Bhat</name>
<email>srivatsa.bhat@linux.vnet.ibm.com</email>
</author>
<published>2011-12-21T21:15:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=e30e2fdfe56288576ee9e04dbb06b4bd5f282203'/>
<id>e30e2fdfe56288576ee9e04dbb06b4bd5f282203</id>
<content type='text'>
Currently, the *_global_[un]lock_online() routines are not at all synchronized
with CPU hotplug. Soft-lockups detected as a consequence of this race was
reported earlier at https://lkml.org/lkml/2011/8/24/185. (Thanks to Cong Meng
for finding out that the root-cause of this issue is the race condition
between br_write_[un]lock() and CPU hotplug, which results in the lock states
getting messed up).

Fixing this race by just adding {get,put}_online_cpus() at appropriate places
in *_global_[un]lock_online() is not a good option, because, then suddenly
br_write_[un]lock() would become blocking, whereas they have been kept as
non-blocking all this time, and we would want to keep them that way.

So, overall, we want to ensure 3 things:
1. br_write_lock() and br_write_unlock() must remain as non-blocking.
2. The corresponding lock and unlock of the per-cpu spinlocks must not happen
   for different sets of CPUs.
3. Either prevent any new CPU online operation in between this lock-unlock, or
   ensure that the newly onlined CPU does not proceed with its corresponding
   per-cpu spinlock unlocked.

To achieve all this:
(a) We introduce a new spinlock that is taken by the *_global_lock_online()
    routine and released by the *_global_unlock_online() routine.
(b) We register a callback for CPU hotplug notifications, and this callback
    takes the same spinlock as above.
(c) We maintain a bitmap which is close to the cpu_online_mask, and once it is
    initialized in the lock_init() code, all future updates to it are done in
    the callback, under the above spinlock.
(d) The above bitmap is used (instead of cpu_online_mask) while locking and
    unlocking the per-cpu locks.

The callback takes the spinlock upon the CPU_UP_PREPARE event. So, if the
br_write_lock-unlock sequence is in progress, the callback keeps spinning,
thus preventing the CPU online operation till the lock-unlock sequence is
complete. This takes care of requirement (3).

The bitmap that we maintain remains unmodified throughout the lock-unlock
sequence, since all updates to it are managed by the callback, which takes
the same spinlock as the one taken by the lock code and released only by the
unlock routine. Combining this with (d) above, satisfies requirement (2).

Overall, since we use a spinlock (mentioned in (a)) to prevent CPU hotplug
operations from racing with br_write_lock-unlock, requirement (1) is also
taken care of.

By the way, it is to be noted that a CPU offline operation can actually run
in parallel with our lock-unlock sequence, because our callback doesn't react
to notifications earlier than CPU_DEAD (in order to maintain our bitmap
properly). And this means, since we use our own bitmap (which is stale, on
purpose) during the lock-unlock sequence, we could end up unlocking the
per-cpu lock of an offline CPU (because we had locked it earlier, when the
CPU was online), in order to satisfy requirement (2). But this is harmless,
though it looks a bit awkward.

Debugged-by: Cong Meng &lt;mc@linux.vnet.ibm.com&gt;
Signed-off-by: Srivatsa S. Bhat &lt;srivatsa.bhat@linux.vnet.ibm.com&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Cc: stable@vger.kernel.org
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently, the *_global_[un]lock_online() routines are not at all synchronized
with CPU hotplug. Soft-lockups detected as a consequence of this race was
reported earlier at https://lkml.org/lkml/2011/8/24/185. (Thanks to Cong Meng
for finding out that the root-cause of this issue is the race condition
between br_write_[un]lock() and CPU hotplug, which results in the lock states
getting messed up).

Fixing this race by just adding {get,put}_online_cpus() at appropriate places
in *_global_[un]lock_online() is not a good option, because, then suddenly
br_write_[un]lock() would become blocking, whereas they have been kept as
non-blocking all this time, and we would want to keep them that way.

So, overall, we want to ensure 3 things:
1. br_write_lock() and br_write_unlock() must remain as non-blocking.
2. The corresponding lock and unlock of the per-cpu spinlocks must not happen
   for different sets of CPUs.
3. Either prevent any new CPU online operation in between this lock-unlock, or
   ensure that the newly onlined CPU does not proceed with its corresponding
   per-cpu spinlock unlocked.

To achieve all this:
(a) We introduce a new spinlock that is taken by the *_global_lock_online()
    routine and released by the *_global_unlock_online() routine.
(b) We register a callback for CPU hotplug notifications, and this callback
    takes the same spinlock as above.
(c) We maintain a bitmap which is close to the cpu_online_mask, and once it is
    initialized in the lock_init() code, all future updates to it are done in
    the callback, under the above spinlock.
(d) The above bitmap is used (instead of cpu_online_mask) while locking and
    unlocking the per-cpu locks.

The callback takes the spinlock upon the CPU_UP_PREPARE event. So, if the
br_write_lock-unlock sequence is in progress, the callback keeps spinning,
thus preventing the CPU online operation till the lock-unlock sequence is
complete. This takes care of requirement (3).

The bitmap that we maintain remains unmodified throughout the lock-unlock
sequence, since all updates to it are managed by the callback, which takes
the same spinlock as the one taken by the lock code and released only by the
unlock routine. Combining this with (d) above, satisfies requirement (2).

Overall, since we use a spinlock (mentioned in (a)) to prevent CPU hotplug
operations from racing with br_write_lock-unlock, requirement (1) is also
taken care of.

By the way, it is to be noted that a CPU offline operation can actually run
in parallel with our lock-unlock sequence, because our callback doesn't react
to notifications earlier than CPU_DEAD (in order to maintain our bitmap
properly). And this means, since we use our own bitmap (which is stale, on
purpose) during the lock-unlock sequence, we could end up unlocking the
per-cpu lock of an offline CPU (because we had locked it earlier, when the
CPU was online), in order to satisfy requirement (2). But this is harmless,
though it looks a bit awkward.

Debugged-by: Cong Meng &lt;mc@linux.vnet.ibm.com&gt;
Signed-off-by: Srivatsa S. Bhat &lt;srivatsa.bhat@linux.vnet.ibm.com&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Cc: stable@vger.kernel.org
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2011-12-22T02:29:26+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-12-22T02:29:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=ecefc36b41ac0fe92d76273a23faf27b2da13411'/>
<id>ecefc36b41ac0fe92d76273a23faf27b2da13411</id>
<content type='text'>
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
  net: Add a flow_cache_flush_deferred function
  ipv4: reintroduce route cache garbage collector
  net: have ipconfig not wait if no dev is available
  sctp: Do not account for sizeof(struct sk_buff) in estimated rwnd
  asix: new device id
  davinci-cpdma: fix locking issue in cpdma_chan_stop
  sctp: fix incorrect overflow check on autoclose
  r8169: fix Config2 MSIEnable bit setting.
  llc: llc_cmsg_rcv was getting called after sk_eat_skb.
  net: bpf_jit: fix an off-one bug in x86_64 cond jump target
  iwlwifi: update SCD BC table for all SCD queues
  Revert "Bluetooth: Revert: Fix L2CAP connection establishment"
  Bluetooth: Clear RFCOMM session timer when disconnecting last channel
  Bluetooth: Prevent uninitialized data access in L2CAP configuration
  iwlwifi: allow to switch to HT40 if not associated
  iwlwifi: tx_sync only on PAN context
  mwifiex: avoid double list_del in command cancel path
  ath9k: fix max phy rate at rate control init
  nfc: signedness bug in __nci_request()
  iwlwifi: do not set the sequence control bit is not needed
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
  net: Add a flow_cache_flush_deferred function
  ipv4: reintroduce route cache garbage collector
  net: have ipconfig not wait if no dev is available
  sctp: Do not account for sizeof(struct sk_buff) in estimated rwnd
  asix: new device id
  davinci-cpdma: fix locking issue in cpdma_chan_stop
  sctp: fix incorrect overflow check on autoclose
  r8169: fix Config2 MSIEnable bit setting.
  llc: llc_cmsg_rcv was getting called after sk_eat_skb.
  net: bpf_jit: fix an off-one bug in x86_64 cond jump target
  iwlwifi: update SCD BC table for all SCD queues
  Revert "Bluetooth: Revert: Fix L2CAP connection establishment"
  Bluetooth: Clear RFCOMM session timer when disconnecting last channel
  Bluetooth: Prevent uninitialized data access in L2CAP configuration
  iwlwifi: allow to switch to HT40 if not associated
  iwlwifi: tx_sync only on PAN context
  mwifiex: avoid double list_del in command cancel path
  ath9k: fix max phy rate at rate control init
  nfc: signedness bug in __nci_request()
  iwlwifi: do not set the sequence control bit is not needed
</pre>
</div>
</content>
</entry>
<entry>
<title>net: Add a flow_cache_flush_deferred function</title>
<updated>2011-12-21T21:48:08+00:00</updated>
<author>
<name>Steffen Klassert</name>
<email>steffen.klassert@secunet.com</email>
</author>
<published>2011-12-21T21:48:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=c0ed1c14a72ca9ebacd51fb94a8aca488b0d361e'/>
<id>c0ed1c14a72ca9ebacd51fb94a8aca488b0d361e</id>
<content type='text'>
flow_cach_flush() might sleep but can be called from
atomic context via the xfrm garbage collector. So add
a flow_cache_flush_deferred() function and use this if
the xfrm garbage colector is invoked from within the
packet path.

Signed-off-by: Steffen Klassert &lt;steffen.klassert@secunet.com&gt;
Acked-by: Timo Teräs &lt;timo.teras@iki.fi&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>
flow_cach_flush() might sleep but can be called from
atomic context via the xfrm garbage collector. So add
a flow_cache_flush_deferred() function and use this if
the xfrm garbage colector is invoked from within the
packet path.

Signed-off-by: Steffen Klassert &lt;steffen.klassert@secunet.com&gt;
Acked-by: Timo Teräs &lt;timo.teras@iki.fi&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip</title>
<updated>2011-12-20T19:42:38+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-12-20T19:42:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=5fbd305dd2b661a243013cf444d2a32bfec2f701'/>
<id>5fbd305dd2b661a243013cf444d2a32bfec2f701</id>
<content type='text'>
* 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  time/clocksource: Fix kernel-doc warnings
  rtc: m41t80: Workaround broken alarm functionality
  rtc: Expire alarms after the time is set.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  time/clocksource: Fix kernel-doc warnings
  rtc: m41t80: Workaround broken alarm functionality
  rtc: Expire alarms after the time is set.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'stable/for-linus-fixes-3.2' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen</title>
<updated>2011-12-20T19:40:48+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-12-20T19:40:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=455ba0c0b7e1d2c72a45808115ef35512e3ae7b0'/>
<id>455ba0c0b7e1d2c72a45808115ef35512e3ae7b0</id>
<content type='text'>
* 'stable/for-linus-fixes-3.2' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
  Revert "xen/pv-on-hvm kexec: add xs_reset_watches to shutdown watches from old kernel"
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'stable/for-linus-fixes-3.2' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
  Revert "xen/pv-on-hvm kexec: add xs_reset_watches to shutdown watches from old kernel"
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media</title>
<updated>2011-12-20T18:49:39+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-12-20T18:49:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux.git/commit/?id=62d7a2927f99be77cfb0ad2ef778bf12ced01193'/>
<id>62d7a2927f99be77cfb0ad2ef778bf12ced01193</id>
<content type='text'>
* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (31 commits)
  Revert "[media] af9015: limit I2C access to keep FW happy"
  [media] s5p-fimc: Fix camera input configuration in subdev operations
  [media] m5mols: Fix logic in sanity check
  [media] ati_remote: switch to single-byte scancodes
  [media] V4L: mt9m111: fix uninitialised mutex
  [media] V4L: omap1_camera: fix missing &lt;linux/module.h&gt; include
  [media] V4L: mt9t112: use after free in mt9t112_probe()
  [media] V4L: soc-camera: fix compiler warnings on 64-bit platforms
  [media] s5p_mfc_enc: fix s/H264/H263/ typo
  [media] omap_vout: Fix compile error in 3.1
  [media] au0828: add missing models 72101, 72201 &amp; 72261 to the model matrix
  [media] au0828: add missing USB ID 2040:7213
  [media] au0828: add missing USB ID 2040:7260
  [media] [trivial] omap24xxcam-dma: Fix logical test
  [media] omap_vout: fix crash if no driver for a display
  [media] media: video: s5p-tv: fix build break
  [media] omap3isp: fix compilation of ispvideo.c
  [media] m5mols: Fix set_fmt to return proper pixel format code
  [media] s5p-fimc: Use correct fourcc for RGB565 colour format
  [media] s5p-fimc: Fail driver probing when sensor configuration is wrong
  ...
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (31 commits)
  Revert "[media] af9015: limit I2C access to keep FW happy"
  [media] s5p-fimc: Fix camera input configuration in subdev operations
  [media] m5mols: Fix logic in sanity check
  [media] ati_remote: switch to single-byte scancodes
  [media] V4L: mt9m111: fix uninitialised mutex
  [media] V4L: omap1_camera: fix missing &lt;linux/module.h&gt; include
  [media] V4L: mt9t112: use after free in mt9t112_probe()
  [media] V4L: soc-camera: fix compiler warnings on 64-bit platforms
  [media] s5p_mfc_enc: fix s/H264/H263/ typo
  [media] omap_vout: Fix compile error in 3.1
  [media] au0828: add missing models 72101, 72201 &amp; 72261 to the model matrix
  [media] au0828: add missing USB ID 2040:7213
  [media] au0828: add missing USB ID 2040:7260
  [media] [trivial] omap24xxcam-dma: Fix logical test
  [media] omap_vout: fix crash if no driver for a display
  [media] media: video: s5p-tv: fix build break
  [media] omap3isp: fix compilation of ispvideo.c
  [media] m5mols: Fix set_fmt to return proper pixel format code
  [media] s5p-fimc: Use correct fourcc for RGB565 colour format
  [media] s5p-fimc: Fail driver probing when sensor configuration is wrong
  ...
</pre>
</div>
</content>
</entry>
</feed>
