<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/lib, branch v3.4.7</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/lib?h=v3.4.7</id>
<link rel='self' href='https://git.amat.us/linux/atom/lib?h=v3.4.7'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-07-16T16:03:43Z</updated>
<entry>
<title>bql: Avoid possible inconsistent calculation.</title>
<updated>2012-07-16T16:03:43Z</updated>
<author>
<name>Hiroaki SHIMODA</name>
<email>shimoda.hiroaki@gmail.com</email>
</author>
<published>2012-05-30T12:25:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4f4bdaeb40df95499c1ee7ea3fbca9d76174a59e'/>
<id>urn:sha1:4f4bdaeb40df95499c1ee7ea3fbca9d76174a59e</id>
<content type='text'>
[ Upstream commit 914bec1011a25f65cdc94988a6f974bfb9a3c10d ]

dql-&gt;num_queued could change while processing dql_completed().
To provide consistent calculation, added an on stack variable.

Signed-off-by: Hiroaki SHIMODA &lt;shimoda.hiroaki@gmail.com&gt;
Cc: Tom Herbert &lt;therbert@google.com&gt;
Cc: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Cc: Denys Fedoryshchenko &lt;denys@visp.net.lb&gt;
Signed-off-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bql: Avoid unneeded limit decrement.</title>
<updated>2012-07-16T16:03:43Z</updated>
<author>
<name>Hiroaki SHIMODA</name>
<email>shimoda.hiroaki@gmail.com</email>
</author>
<published>2012-05-30T12:25:19Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=1414a53d956340ca8b1b27e05ab94ba63e82ed97'/>
<id>urn:sha1:1414a53d956340ca8b1b27e05ab94ba63e82ed97</id>
<content type='text'>
[ Upstream commit 25426b794efdc70dde7fd3134dc56fac3e7d562d ]

When below pattern is observed,

                                               TIME
       dql_queued()         dql_completed()     |
      a) initial state                          |
                                                |
      b) X bytes queued                         V

      c) Y bytes queued
                           d) X bytes completed
      e) Z bytes queued
                           f) Y bytes completed

a) dql-&gt;limit has already some value and there is no in-flight packet.
b) X bytes queued.
c) Y bytes queued and excess limit.
d) X bytes completed and dql-&gt;prev_ovlimit is set and also
   dql-&gt;prev_num_queued is set Y.
e) Z bytes queued.
f) Y bytes completed. inprogress and prev_inprogress are true.

At f), according to the comment, all_prev_completed becomes
true and limit should be increased. But POSDIFF() ignores
(completed == dql-&gt;prev_num_queued) case, so limit is decreased.

Signed-off-by: Hiroaki SHIMODA &lt;shimoda.hiroaki@gmail.com&gt;
Cc: Tom Herbert &lt;therbert@google.com&gt;
Cc: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Cc: Denys Fedoryshchenko &lt;denys@visp.net.lb&gt;
Acked-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bql: Fix POSDIFF() to integer overflow aware.</title>
<updated>2012-07-16T16:03:26Z</updated>
<author>
<name>Hiroaki SHIMODA</name>
<email>shimoda.hiroaki@gmail.com</email>
</author>
<published>2012-05-30T12:24:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=19d07e884b7fd22f92eb8939556dcbf55df1982c'/>
<id>urn:sha1:19d07e884b7fd22f92eb8939556dcbf55df1982c</id>
<content type='text'>
[ Upstream commit 0cfd32b736ae0c36b42697584811042726c07cba ]

POSDIFF() fails to take into account integer overflow case.

Signed-off-by: Hiroaki SHIMODA &lt;shimoda.hiroaki@gmail.com&gt;
Cc: Tom Herbert &lt;therbert@google.com&gt;
Cc: Eric Dumazet &lt;eric.dumazet@gmail.com&gt;
Cc: Denys Fedoryshchenko &lt;denys@visp.net.lb&gt;
Acked-by: Eric Dumazet &lt;edumazet@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>btree: fix tree corruption in btree_get_prev()</title>
<updated>2012-06-17T18:21:22Z</updated>
<author>
<name>Roland Dreier</name>
<email>roland@purestorage.com</email>
</author>
<published>2012-06-07T21:21:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=5a32293d5c1045e99b70582783b453d08e71cfdb'/>
<id>urn:sha1:5a32293d5c1045e99b70582783b453d08e71cfdb</id>
<content type='text'>
commit cbf8ae32f66a9ceb8907ad9e16663c2a29e48990 upstream.

The memory the parameter __key points to is used as an iterator in
btree_get_prev(), so if we save off a bkey() pointer in retry_key and
then assign that to __key, we'll end up corrupting the btree internals
when we do eg

	longcpy(__key, bkey(geo, node, i), geo-&gt;keylen);

to return the key value.  What we should do instead is use longcpy() to
copy the key value that retry_key points to __key.

This can cause a btree to get corrupted by seemingly read-only
operations such as btree_for_each_safe.

[akpm@linux-foundation.org: avoid the double longcpy()]
Signed-off-by: Roland Dreier &lt;roland@purestorage.com&gt;
Acked-by: Joern Engel &lt;joern@logfs.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>radix-tree: fix contiguous iterator</title>
<updated>2012-06-09T15:36:17Z</updated>
<author>
<name>Konstantin Khlebnikov</name>
<email>khlebnikov@openvz.org</email>
</author>
<published>2012-06-05T17:36:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b642cb6a143da812f188307c2661c0357776a9d0'/>
<id>urn:sha1:b642cb6a143da812f188307c2661c0357776a9d0</id>
<content type='text'>
commit fffaee365fded09f9ebf2db19066065fa54323c3 upstream.

This patch fixes bug in macro radix_tree_for_each_contig().

If radix_tree_next_slot() sees NULL in next slot it returns NULL, but following
radix_tree_next_chunk() switches iterating into next chunk. As result iterating
becomes non-contiguous and breaks vfs "splice" and all its users.

Signed-off-by: Konstantin Khlebnikov &lt;khlebnikov@openvz.org&gt;
Reported-and-bisected-by: Hans de Bruin &lt;jmdebruin@xmsnet.nl&gt;
Reported-and-bisected-by: Ondrej Zary &lt;linux@rainbow-software.org&gt;
Reported-bisected-and-tested-by: Toralf Förster &lt;toralf.foerster@gmx.de&gt;
Link: https://lkml.org/lkml/2012/6/5/64
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>mpi: Avoid using freed pointer in mpi_lshift_limbs()</title>
<updated>2012-04-18T02:14:28Z</updated>
<author>
<name>Jesper Juhl</name>
<email>jj@chaosbits.net</email>
</author>
<published>2012-02-06T09:07:04Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=09c79b60960bdd4b00916219402eabfa5e479c5a'/>
<id>urn:sha1:09c79b60960bdd4b00916219402eabfa5e479c5a</id>
<content type='text'>
At the start of the function we assign 'a-&gt;d' to 'ap'. Then we use the
RESIZE_IF_NEEDED macro on 'a' - this may free 'a-&gt;d' and replace it
with newly allocaetd storage. In that case, we'll be operating on
freed memory further down in the function when we index into 'ap[]'.
Since we don't actually need 'ap' until after the use of the
RESIZE_IF_NEEDED macro we can just delay the assignment to it until
after we've potentially resized, thus avoiding the issue.

While I was there anyway I also changed the integer variable 'n' to be
const. It might as well be since we only assign to it once and use it
as a constant, and then the compiler will tell us if we ever assign to
it in the future.

Signed-off-by: Jesper Juhl &lt;jj@chaosbits.net&gt;
Acked-by: Dmitry Kasatkin &lt;dmitry.kasatkin@intel.com&gt;
Signed-off-by: James Morris &lt;james.l.morris@oracle.com&gt;
</content>
</entry>
<entry>
<title>kobject: provide more diagnostic info for kobject_add_internal() failures</title>
<updated>2012-04-10T21:48:51Z</updated>
<author>
<name>Dan Williams</name>
<email>dan.j.williams@intel.com</email>
</author>
<published>2012-04-06T20:41:15Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=282029c005e65ffdce3aa9f8220f88a8bbbc4dae'/>
<id>urn:sha1:282029c005e65ffdce3aa9f8220f88a8bbbc4dae</id>
<content type='text'>
1/ convert open-coded KERN_ERR+dump_stack() to WARN(), so that automated
   tools pick up this warning.

2/ include the 'child' and 'parent' kobject names.  This information was
   useful for tracking down the case where scsi invoked device_del() on a
   parent object and subsequently invoked device_add() on a child.  Now the
   warning looks like:

     kobject_add_internal failed for target8:0:16 (error: -2 parent: end_device-8:0:24)
     Pid: 2942, comm: scsi_scan_8 Not tainted 3.3.0-rc7-isci+ #2
     Call Trace:
      [&lt;ffffffff8125e551&gt;] kobject_add_internal+0x1c1/0x1f3
      [&lt;ffffffff81075149&gt;] ? trace_hardirqs_on+0xd/0xf
      [&lt;ffffffff8125e659&gt;] kobject_add_varg+0x41/0x50
      [&lt;ffffffff8125e723&gt;] kobject_add+0x64/0x66
      [&lt;ffffffff8131124b&gt;] device_add+0x12d/0x63a
      [&lt;ffffffff8125e0ef&gt;] ? kobject_put+0x4c/0x50
      [&lt;ffffffff8132f370&gt;] scsi_sysfs_add_sdev+0x4e/0x28a
      [&lt;ffffffff8132dce3&gt;] do_scan_async+0x9c/0x145

Cc: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
Cc: James Bottomley &lt;JBottomley@parallels.com&gt;
Signed-off-by: Dan Williams &lt;dan.j.williams@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip</title>
<updated>2012-03-29T21:28:26Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-03-29T21:28:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6b8212a313dae341ef3a2e413dfec5c4dea59617'/>
<id>urn:sha1:6b8212a313dae341ef3a2e413dfec5c4dea59617</id>
<content type='text'>
Pull x86 updates from Ingo Molnar.

This touches some non-x86 files due to the sanitized INLINE_SPIN_UNLOCK
config usage.

Fixed up trivial conflicts due to just header include changes (removing
headers due to cpu_idle() merge clashing with the &lt;asm/system.h&gt; split).

* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  x86/apic/amd: Be more verbose about LVT offset assignments
  x86, tls: Off by one limit check
  x86/ioapic: Add io_apic_ops driver layer to allow interception
  x86/olpc: Add debugfs interface for EC commands
  x86: Merge the x86_32 and x86_64 cpu_idle() functions
  x86/kconfig: Remove CONFIG_TR=y from the defconfigs
  x86: Stop recursive fault in print_context_stack after stack overflow
  x86/io_apic: Move and reenable irq only when CONFIG_GENERIC_PENDING_IRQ=y
  x86/apic: Add separate apic_id_valid() functions for selected apic drivers
  locking/kconfig: Simplify INLINE_SPIN_UNLOCK usage
  x86/kconfig: Update defconfigs
  x86: Fix excessive MSR print out when show_msr is not specified
</content>
</entry>
<entry>
<title>Merge branch 'akpm' (Andrew's patch-bomb)</title>
<updated>2012-03-29T00:19:28Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-03-29T00:19:27Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=532bfc851a7475fb6a36c1e953aa395798a7cca7'/>
<id>urn:sha1:532bfc851a7475fb6a36c1e953aa395798a7cca7</id>
<content type='text'>
Merge third batch of patches from Andrew Morton:
 - Some MM stragglers
 - core SMP library cleanups (on_each_cpu_mask)
 - Some IPI optimisations
 - kexec
 - kdump
 - IPMI
 - the radix-tree iterator work
 - various other misc bits.

 "That'll do for -rc1.  I still have ~10 patches for 3.4, will send
  those along when they've baked a little more."

* emailed from Andrew Morton &lt;akpm@linux-foundation.org&gt;: (35 commits)
  backlight: fix typo in tosa_lcd.c
  crc32: add help text for the algorithm select option
  mm: move hugepage test examples to tools/testing/selftests/vm
  mm: move slabinfo.c to tools/vm
  mm: move page-types.c from Documentation to tools/vm
  selftests/Makefile: make `run_tests' depend on `all'
  selftests: launch individual selftests from the main Makefile
  radix-tree: use iterators in find_get_pages* functions
  radix-tree: rewrite gang lookup using iterator
  radix-tree: introduce bit-optimized iterator
  fs/proc/namespaces.c: prevent crash when ns_entries[] is empty
  nbd: rename the nbd_device variable from lo to nbd
  pidns: add reboot_pid_ns() to handle the reboot syscall
  sysctl: use bitmap library functions
  ipmi: use locks on watchdog timeout set on reboot
  ipmi: simplify locking
  ipmi: fix message handling during panics
  ipmi: use a tasklet for handling received messages
  ipmi: increase KCS timeouts
  ipmi: decrease the IPMI message transaction time in interrupt mode
  ...
</content>
</entry>
<entry>
<title>crc32: add help text for the algorithm select option</title>
<updated>2012-03-29T00:14:37Z</updated>
<author>
<name>Darrick J. Wong</name>
<email>djwong@us.ibm.com</email>
</author>
<published>2012-03-28T21:42:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=82edb4baa762c98008fcea6393e85bffedab2b3c'/>
<id>urn:sha1:82edb4baa762c98008fcea6393e85bffedab2b3c</id>
<content type='text'>
Add help text to the crc32 algorithm selection option in Kconfig.

Signed-off-by: Darrick J. Wong &lt;djwong@us.ibm.com&gt;
Reported-by: Stefan Richter &lt;stefanr@s5r6.in-berlin.de&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
