<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/include, branch v2.6.33.5</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/include?h=v2.6.33.5</id>
<link rel='self' href='https://git.amat.us/linux/atom/include?h=v2.6.33.5'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2010-05-26T21:32:04Z</updated>
<entry>
<title>revert "procfs: provide stack information for threads" and its fixup commits</title>
<updated>2010-05-26T21:32:04Z</updated>
<author>
<name>Robin Holt</name>
<email>holt@sgi.com</email>
</author>
<published>2010-05-11T21:06:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b759d0992e1fdcf2a76ebef37289e787b375fa28'/>
<id>urn:sha1:b759d0992e1fdcf2a76ebef37289e787b375fa28</id>
<content type='text'>
commit 34441427aab4bdb3069a4ffcda69a99357abcb2e upstream.

Originally, commit d899bf7b ("procfs: provide stack information for
threads") attempted to introduce a new feature for showing where the
threadstack was located and how many pages are being utilized by the
stack.

Commit c44972f1 ("procfs: disable per-task stack usage on NOMMU") was
applied to fix the NO_MMU case.

Commit 89240ba0 ("x86, fs: Fix x86 procfs stack information for threads on
64-bit") was applied to fix a bug in ia32 executables being loaded.

Commit 9ebd4eba7 ("procfs: fix /proc/&lt;pid&gt;/stat stack pointer for kernel
threads") was applied to fix a bug which had kernel threads printing a
userland stack address.

Commit 1306d603f ('proc: partially revert "procfs: provide stack
information for threads"') was then applied to revert the stack pages
being used to solve a significant performance regression.

This patch nearly undoes the effect of all these patches.

The reason for reverting these is it provides an unusable value in
field 28.  For x86_64, a fork will result in the task-&gt;stack_start
value being updated to the current user top of stack and not the stack
start address.  This unpredictability of the stack_start value makes
it worthless.  That includes the intended use of showing how much stack
space a thread has.

Other architectures will get different values.  As an example, ia64
gets 0.  The do_fork() and copy_process() functions appear to treat the
stack_start and stack_size parameters as architecture specific.

I only partially reverted c44972f1 ("procfs: disable per-task stack usage
on NOMMU") .  If I had completely reverted it, I would have had to change
mm/Makefile only build pagewalk.o when CONFIG_PROC_PAGE_MONITOR is
configured.  Since I could not test the builds without significant effort,
I decided to not change mm/Makefile.

I only partially reverted 89240ba0 ("x86, fs: Fix x86 procfs stack
information for threads on 64-bit") .  I left the KSTK_ESP() change in
place as that seemed worthwhile.

Signed-off-by: Robin Holt &lt;holt@sgi.com&gt;
Cc: Stefani Seibold &lt;stefani@seibold.net&gt;
Cc: KOSAKI Motohiro &lt;kosaki.motohiro@jp.fujitsu.com&gt;
Cc: Michal Simek &lt;monstr@monstr.eu&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&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@suse.de&gt;

</content>
</entry>
<entry>
<title>dma-mapping: fix dma_sync_single_range_*</title>
<updated>2010-05-26T21:32:04Z</updated>
<author>
<name>FUJITA Tomonori</name>
<email>fujita.tomonori@lab.ntt.co.jp</email>
</author>
<published>2010-05-11T21:06:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=56bb252ae71c2b0d28e8e7941d0e487a244ace2c'/>
<id>urn:sha1:56bb252ae71c2b0d28e8e7941d0e487a244ace2c</id>
<content type='text'>
commit f33d7e2d2d113a63772bbc993cdec3b5327f0ef1 upstream.

dma_sync_single_range_for_cpu() and dma_sync_single_range_for_device() use
a wrong address with a partial synchronization.

Signed-off-by: FUJITA Tomonori &lt;fujita.tomonori@lab.ntt.co.jp&gt;
Reviewed-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>sctp: Fix oops when sending queued ASCONF chunks</title>
<updated>2010-05-12T22:02:59Z</updated>
<author>
<name>Vlad Yasevich</name>
<email>vladislav.yasevich@hp.com</email>
</author>
<published>2010-04-28T08:47:22Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8cee6e2f8cd203fd5dfaf10a54b64084eb572e02'/>
<id>urn:sha1:8cee6e2f8cd203fd5dfaf10a54b64084eb572e02</id>
<content type='text'>
[ Upstream commit c0786693404cffd80ca3cb6e75ee7b35186b2825 ]

When we finish processing ASCONF_ACK chunk, we try to send
the next queued ASCONF.  This action runs the sctp state
machine recursively and it's not prepared to do so.

kernel BUG at kernel/timer.c:790!
invalid opcode: 0000 [#1] SMP
last sysfs file: /sys/module/ipv6/initstate
Modules linked in: sha256_generic sctp libcrc32c ipv6 dm_multipath
uinput 8139too i2c_piix4 8139cp mii i2c_core pcspkr virtio_net joydev
floppy virtio_blk virtio_pci [last unloaded: scsi_wait_scan]

Pid: 0, comm: swapper Not tainted 2.6.34-rc4 #15 /Bochs
EIP: 0060:[&lt;c044a2ef&gt;] EFLAGS: 00010286 CPU: 0
EIP is at add_timer+0xd/0x1b
EAX: cecbab14 EBX: 000000f0 ECX: c0957b1c EDX: 03595cf4
ESI: cecba800 EDI: cf276f00 EBP: c0957aa0 ESP: c0957aa0
 DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
Process swapper (pid: 0, ti=c0956000 task=c0988ba0 task.ti=c0956000)
Stack:
 c0957ae0 d1851214 c0ab62e4 c0ab5f26 0500ffff 00000004 00000005 00000004
&lt;0&gt; 00000000 d18694fd 00000004 1666b892 cecba800 cecba800 c0957b14
00000004
&lt;0&gt; c0957b94 d1851b11 ceda8b00 cecba800 cf276f00 00000001 c0957b14
000000d0
Call Trace:
 [&lt;d1851214&gt;] ? sctp_side_effects+0x607/0xdfc [sctp]
 [&lt;d1851b11&gt;] ? sctp_do_sm+0x108/0x159 [sctp]
 [&lt;d1863386&gt;] ? sctp_pname+0x0/0x1d [sctp]
 [&lt;d1861a56&gt;] ? sctp_primitive_ASCONF+0x36/0x3b [sctp]
 [&lt;d185657c&gt;] ? sctp_process_asconf_ack+0x2a4/0x2d3 [sctp]
 [&lt;d184e35c&gt;] ? sctp_sf_do_asconf_ack+0x1dd/0x2b4 [sctp]
 [&lt;d1851ac1&gt;] ? sctp_do_sm+0xb8/0x159 [sctp]
 [&lt;d1863334&gt;] ? sctp_cname+0x0/0x52 [sctp]
 [&lt;d1854377&gt;] ? sctp_assoc_bh_rcv+0xac/0xe1 [sctp]
 [&lt;d1858f0f&gt;] ? sctp_inq_push+0x2d/0x30 [sctp]
 [&lt;d186329d&gt;] ? sctp_rcv+0x797/0x82e [sctp]

Tested-by: Wei Yongjun &lt;yjwei@cn.fujitsu.com&gt;
Signed-off-by: Yuansong Qiao &lt;ysqiao@research.ait.ie&gt;
Signed-off-by: Shuaijun Zhang &lt;szhang@research.ait.ie&gt;
Signed-off-by: Vlad Yasevich &lt;vladislav.yasevich@hp.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>sctp: avoid irq lock inversion while call sk-&gt;sk_data_ready()</title>
<updated>2010-05-12T22:02:57Z</updated>
<author>
<name>Wei Yongjun</name>
<email>yjwei@cn.fujitsu.com</email>
</author>
<published>2010-04-28T08:47:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fbcf931163be5f6c34cad7f00dc59ed83146e158'/>
<id>urn:sha1:fbcf931163be5f6c34cad7f00dc59ed83146e158</id>
<content type='text'>
[ Upstream commit 561b1733a465cf9677356b40c27653dd45f1ac56 ]

sk-&gt;sk_data_ready() of sctp socket can be called from both BH and non-BH
contexts, but the default sk-&gt;sk_data_ready(), sock_def_readable(), can
not be used in this case. Therefore, we have to make a new function
sctp_data_ready() to grab sk-&gt;sk_data_ready() with BH disabling.

=========================================================
[ INFO: possible irq lock inversion dependency detected ]
2.6.33-rc6 #129
---------------------------------------------------------
sctp_darn/1517 just changed the state of lock:
 (clock-AF_INET){++.?..}, at: [&lt;c06aab60&gt;] sock_def_readable+0x20/0x80
but this lock took another, SOFTIRQ-unsafe lock in the past:
 (slock-AF_INET){+.-...}

and interrupts could create inverse lock ordering between them.

other info that might help us debug this:
1 lock held by sctp_darn/1517:
 #0:  (sk_lock-AF_INET){+.+.+.}, at: [&lt;cdfe363d&gt;] sctp_sendmsg+0x23d/0xc00 [sctp]

Signed-off-by: Wei Yongjun &lt;yjwei@cn.fujitsu.com&gt;
Signed-off-by: Vlad Yasevich &lt;vladislav.yasevich@hp.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
</content>
</entry>
<entry>
<title>libata: Fix accesses at LBA28 boundary (old bug, but nasty) (v2)</title>
<updated>2010-05-12T22:02:49Z</updated>
<author>
<name>Mark Lord</name>
<email>kernel@teksavvy.com</email>
</author>
<published>2010-04-07T17:52:08Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=fdeddaaa28f22a68a14a8e7daed118ea6bd8b6bd'/>
<id>urn:sha1:fdeddaaa28f22a68a14a8e7daed118ea6bd8b6bd</id>
<content type='text'>
commit 45c4d015a92f72ec47acd0c7557abdc0c8a6499d upstream.

Most drives from Seagate, Hitachi, and possibly other brands,
do not allow LBA28 access to sector number 0x0fffffff (2^28 - 1).
So instead use LBA48 for such accesses.

This bug could bite a lot of systems, especially when the user has
taken care to align partitions to 4KB boundaries. On misaligned systems,
it is less likely to be encountered, since a 4KB read would end at
0x10000000 rather than at 0x0fffffff.

Signed-off-by: Mark Lord &lt;mlord@pobox.com&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>hugetlb: fix infinite loop in get_futex_key() when backed by huge pages</title>
<updated>2010-05-12T22:02:33Z</updated>
<author>
<name>Mel Gorman</name>
<email>mel@csn.ul.ie</email>
</author>
<published>2010-04-23T17:17:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a340b55ae448daf36d110677c4cebd5897dbdf06'/>
<id>urn:sha1:a340b55ae448daf36d110677c4cebd5897dbdf06</id>
<content type='text'>
commit 23be7468e8802a2ac1de6ee3eecb3ec7f14dc703 upstream.

If a futex key happens to be located within a huge page mapped
MAP_PRIVATE, get_futex_key() can go into an infinite loop waiting for a
page-&gt;mapping that will never exist.

See https://bugzilla.redhat.com/show_bug.cgi?id=552257 for more details
about the problem.

This patch makes page-&gt;mapping a poisoned value that includes
PAGE_MAPPING_ANON mapped MAP_PRIVATE.  This is enough for futex to
continue but because of PAGE_MAPPING_ANON, the poisoned value is not
dereferenced or used by futex.  No other part of the VM should be
dereferencing the page-&gt;mapping of a hugetlbfs page as its page cache is
not on the LRU.

This patch fixes the problem with the test case described in the bugzilla.

[akpm@linux-foundation.org: mel cant spel]
Signed-off-by: Mel Gorman &lt;mel@csn.ul.ie&gt;
Acked-by: Peter Zijlstra &lt;peterz@infradead.org&gt;
Acked-by: Darren Hart &lt;darren@dvhart.com&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@suse.de&gt;

</content>
</entry>
<entry>
<title>KVM: Increase NR_IOBUS_DEVS limit to 200</title>
<updated>2010-04-26T14:48:05Z</updated>
<author>
<name>Sridhar Samudrala</name>
<email>sri@us.ibm.com</email>
</author>
<published>2010-03-30T23:48:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=00e7035cabdd49657b80b4e0b6995310dc198847'/>
<id>urn:sha1:00e7035cabdd49657b80b4e0b6995310dc198847</id>
<content type='text'>
(Cherry-picked from commit e80e2a60ff7914dae691345a976c80bbbff3ec74)

This patch increases the current hardcoded limit of NR_IOBUS_DEVS
from 6 to 200. We are hitting this limit when creating a guest with more
than 1 virtio-net device using vhost-net backend. Each virtio-net
device requires 2 such devices to service notifications from rx/tx queues.

Signed-off-by: Sridhar Samudrala &lt;sri@us.ibm.com&gt;
Signed-off-by: Avi Kivity &lt;avi@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>KVM: fix the handling of dirty bitmaps to avoid overflows</title>
<updated>2010-04-26T14:48:05Z</updated>
<author>
<name>Takuya Yoshikawa</name>
<email>yoshikawa.takuya@oss.ntt.co.jp</email>
</author>
<published>2010-04-12T10:35:35Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ff5bfd4f4896c3f27dafcc4ae533b0d803968499'/>
<id>urn:sha1:ff5bfd4f4896c3f27dafcc4ae533b0d803968499</id>
<content type='text'>
(Cherry-picked from commit 87bf6e7de1134f48681fd2ce4b7c1ec45458cb6d)

Int is not long enough to store the size of a dirty bitmap.

This patch fixes this problem with the introduction of a wrapper
function to calculate the sizes of dirty bitmaps.

Note: in mark_page_dirty(), we have to consider the fact that
  __set_bit() takes the offset as int, not long.

Signed-off-by: Takuya Yoshikawa &lt;yoshikawa.takuya@oss.ntt.co.jp&gt;
Signed-off-by: Marcelo Tosatti &lt;mtosatti@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>module: fix __module_ref_addr()</title>
<updated>2010-04-26T14:48:03Z</updated>
<author>
<name>Mathieu Desnoyers</name>
<email>mathieu.desnoyers@efficios.com</email>
</author>
<published>2010-04-20T14:38:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e6813c83b2ef1fe0abb88fca3c4dfc4c5a01f473'/>
<id>urn:sha1:e6813c83b2ef1fe0abb88fca3c4dfc4c5a01f473</id>
<content type='text'>
The __module_ref_addr() problem disappears in 2.6.34-rc kernels because these
percpu accesses were re-factored.

__module_ref_addr() should use per_cpu_ptr() to obfuscate the pointer
(RELOC_HIDE is needed for per cpu pointers).

This non-standard per-cpu pointer use has been introduced by commit
720eba31f47aeade8ec130ca7f4353223c49170f

It causes a NULL pointer exception on some configurations when CONFIG_TRACING is
enabled on 2.6.33. This patch fixes the problem (acknowledged by Randy who
reported the bug).

It did not appear to hurt previously because most of the accesses were done
through local_inc, which probably obfuscated the access enough that no compiler
optimizations were done. But with local_read() done when CONFIG_TRACING is
active, this becomes a problem. Non-CONFIG_TRACING is probably affected as well
(module.c contains local_set and local_read that use __module_ref_addr()), but I
guess nobody noticed because we've been lucky enough that the compiler did not
generate the inappropriate optimization pattern there.

This patch should be queued for the 2.6.29.x through 2.6.33.x stable branches.
(tested on 2.6.33.1 x86_64)

Signed-off-by: Mathieu Desnoyers &lt;mathieu.desnoyers@efficios.com&gt;
Tested-by: Randy Dunlap &lt;randy.dunlap@oracle.com&gt;
CC: Eric Dumazet &lt;dada1@cosmosbay.com&gt;
CC: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
CC: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
CC: Tejun Heo &lt;tj@kernel.org&gt;
CC: Ingo Molnar &lt;mingo@elte.hu&gt;
CC: Andrew Morton &lt;akpm@linux-foundation.org&gt;
CC: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
CC: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
CC: Steven Rostedt &lt;rostedt@goodmis.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>x86/PCI: irq and pci_ids patch for Intel Cougar Point DeviceIDs</title>
<updated>2010-04-26T14:48:00Z</updated>
<author>
<name>Seth Heasley</name>
<email>seth.heasley@intel.com</email>
</author>
<published>2010-01-13T00:56:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=8767aba388feb33c80e0052d7a45791294d374fa'/>
<id>urn:sha1:8767aba388feb33c80e0052d7a45791294d374fa</id>
<content type='text'>
commit 93da6202264ce1256b04db8008a43882ae62d060 upstream.

This patch adds the Intel Cougar Point (PCH) LPC and SMBus Controller DeviceIDs.

Signed-off-by: Seth Heasley &lt;seth.heasley@intel.com&gt;
Signed-off-by: Jesse Barnes &lt;jbarnes@virtuousgeek.org&gt;
Cc: maximilian attems &lt;max@stro.at&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
</feed>
