<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/arch, branch v2.6.33.16</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>um: os-linux/mem.c needs sys/stat.h</title>
<updated>2011-07-13T03:31:26+00:00</updated>
<author>
<name>Liu Aleaxander</name>
<email>aleaxander@gmail.com</email>
</author>
<published>2010-06-29T22:05:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=27957444d79357335093639f4781afffc8fd1a43'/>
<id>27957444d79357335093639f4781afffc8fd1a43</id>
<content type='text'>
commit fb967ecc584c20c74a007de749ca597068b0fcac upstream.

The os-linux/mem.c file calls fchmod function, which is declared in sys/stat.h
header file, so include it.  Fixes build breakage under FC13.

Signed-off-by: Liu Aleaxander &lt;Aleaxander@gmail.com&gt;
Acked-by: Boaz Harrosh &lt;bharrosh@panasas.com&gt;
Cc: Jeff Dike &lt;jdike@addtoit.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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit fb967ecc584c20c74a007de749ca597068b0fcac upstream.

The os-linux/mem.c file calls fchmod function, which is declared in sys/stat.h
header file, so include it.  Fixes build breakage under FC13.

Signed-off-by: Liu Aleaxander &lt;Aleaxander@gmail.com&gt;
Acked-by: Boaz Harrosh &lt;bharrosh@panasas.com&gt;
Cc: Jeff Dike &lt;jdike@addtoit.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;

</pre>
</div>
</content>
</entry>
<entry>
<title>uml: fix CONFIG_STATIC_LINK=y build failure with newer glibc</title>
<updated>2011-07-13T03:31:26+00:00</updated>
<author>
<name>Roland McGrath</name>
<email>roland@redhat.com</email>
</author>
<published>2010-10-26T21:22:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e054ffd990a1bb888eb443b8fb351656d4e78751'/>
<id>e054ffd990a1bb888eb443b8fb351656d4e78751</id>
<content type='text'>
commit aa5fb4dbfd121296ca97c68cf90043a7ea97579d upstream.

With glibc 2.11 or later that was built with --enable-multi-arch, the UML
link fails with undefined references to __rel_iplt_start and similar
symbols.  In recent binutils, the default linker script defines these
symbols (see ld --verbose).  Fix the UML linker scripts to match the new
defaults for these sections.

Signed-off-by: Roland McGrath &lt;roland@redhat.com&gt;
Cc: Jeff Dike &lt;jdike@addtoit.com&gt;
Cc: Al Viro &lt;viro@zeniv.linux.org.uk&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>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit aa5fb4dbfd121296ca97c68cf90043a7ea97579d upstream.

With glibc 2.11 or later that was built with --enable-multi-arch, the UML
link fails with undefined references to __rel_iplt_start and similar
symbols.  In recent binutils, the default linker script defines these
symbols (see ld --verbose).  Fix the UML linker scripts to match the new
defaults for these sections.

Signed-off-by: Roland McGrath &lt;roland@redhat.com&gt;
Cc: Jeff Dike &lt;jdike@addtoit.com&gt;
Cc: Al Viro &lt;viro@zeniv.linux.org.uk&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;

</pre>
</div>
</content>
</entry>
<entry>
<title>xen: partially revert "xen: set max_pfn_mapped to the last pfn mapped"</title>
<updated>2011-07-13T03:31:23+00:00</updated>
<author>
<name>Stefano Stabellini</name>
<email>stefano.stabellini@eu.citrix.com</email>
</author>
<published>2011-06-03T09:51:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6961b18f7cdd1357b3e31a6b97807034204220c6'/>
<id>6961b18f7cdd1357b3e31a6b97807034204220c6</id>
<content type='text'>
commit a91d92875ee94e4703fd017ccaadb48cfb344994 upstream.

We only need to set max_pfn_mapped to the last pfn mapped on x86_64 to
make sure that cleanup_highmap doesn't remove important mappings at
_end.

We don't need to do this on x86_32 because cleanup_highmap is not called
on x86_32. Besides lowering max_pfn_mapped on x86_32 has the unwanted
side effect of limiting the amount of memory available for the 1:1
kernel pagetable allocation.

This patch reverts the x86_32 part of the original patch.

Signed-off-by: Stefano Stabellini &lt;stefano.stabellini@eu.citrix.com&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit a91d92875ee94e4703fd017ccaadb48cfb344994 upstream.

We only need to set max_pfn_mapped to the last pfn mapped on x86_64 to
make sure that cleanup_highmap doesn't remove important mappings at
_end.

We don't need to do this on x86_32 because cleanup_highmap is not called
on x86_32. Besides lowering max_pfn_mapped on x86_32 has the unwanted
side effect of limiting the amount of memory available for the 1:1
kernel pagetable allocation.

This patch reverts the x86_32 part of the original patch.

Signed-off-by: Stefano Stabellini &lt;stefano.stabellini@eu.citrix.com&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>x86/amd-iommu: Fix boot crash with hidden PCI devices</title>
<updated>2011-06-23T22:28:40+00:00</updated>
<author>
<name>Joerg Roedel</name>
<email>joerg.roedel@amd.com</email>
</author>
<published>2011-06-06T14:50:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0024eac2fe1bda18b06f391d44803cda998facaf'/>
<id>0024eac2fe1bda18b06f391d44803cda998facaf</id>
<content type='text'>
commit 26018874e3584f1658570d41d57d4c34f6a53aa0 upstream.

Some PCIe cards ship with a PCI-PCIe bridge which is not
visible as a PCI device in Linux. But the device-id of the
bridge is present in the IOMMU tables which causes a boot
crash in the IOMMU driver.
This patch fixes by removing these cards from the IOMMU
handling. This is a pure -stable fix, a real fix to handle
this situation appriatly will follow for the next merge
window.

Signed-off-by: Joerg Roedel &lt;joerg.roedel@amd.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 26018874e3584f1658570d41d57d4c34f6a53aa0 upstream.

Some PCIe cards ship with a PCI-PCIe bridge which is not
visible as a PCI device in Linux. But the device-id of the
bridge is present in the IOMMU tables which causes a boot
crash in the IOMMU driver.
This patch fixes by removing these cards from the IOMMU
handling. This is a pure -stable fix, a real fix to handle
this situation appriatly will follow for the next merge
window.

Signed-off-by: Joerg Roedel &lt;joerg.roedel@amd.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>x86/amd-iommu: Fix 3 possible endless loops</title>
<updated>2011-06-23T22:28:40+00:00</updated>
<author>
<name>Joerg Roedel</name>
<email>joerg.roedel@amd.com</email>
</author>
<published>2011-06-06T14:04:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1ad5dd3646a62af901a4409e7cb3d7f39f58ab9b'/>
<id>1ad5dd3646a62af901a4409e7cb3d7f39f58ab9b</id>
<content type='text'>
commit 0de66d5b35ee148455e268b2782873204ffdef4b upstream.

The driver contains several loops counting on an u16 value
where the exit-condition is checked against variables that
can have values up to 0xffff. In this case the loops will
never exit. This patch fixed 3 such loops.

Signed-off-by: Joerg Roedel &lt;joerg.roedel@amd.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 0de66d5b35ee148455e268b2782873204ffdef4b upstream.

The driver contains several loops counting on an u16 value
where the exit-condition is checked against variables that
can have values up to 0xffff. In this case the loops will
never exit. This patch fixed 3 such loops.

Signed-off-by: Joerg Roedel &lt;joerg.roedel@amd.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>x86/amd-iommu: Use only per-device dma_ops</title>
<updated>2011-06-23T22:28:40+00:00</updated>
<author>
<name>Joerg Roedel</name>
<email>joerg.roedel@amd.com</email>
</author>
<published>2011-05-30T13:56:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=51a2520ca82d8a02baaef9f16610eceb8f85a283'/>
<id>51a2520ca82d8a02baaef9f16610eceb8f85a283</id>
<content type='text'>
commit 27c2127a15d340706c0aa84e311188a14468d841 upstream.

Unfortunatly there are systems where the AMD IOMMU does not
cover all devices. This breaks with the current driver as it
initializes the global dma_ops variable. This patch limits
the AMD IOMMU to the devices listed in the IVRS table fixing
DMA for devices not covered by the IOMMU.

Signed-off-by: Joerg Roedel &lt;joerg.roedel@amd.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 27c2127a15d340706c0aa84e311188a14468d841 upstream.

Unfortunatly there are systems where the AMD IOMMU does not
cover all devices. This breaks with the current driver as it
initializes the global dma_ops variable. This patch limits
the AMD IOMMU to the devices listed in the IVRS table fixing
DMA for devices not covered by the IOMMU.

Signed-off-by: Joerg Roedel &lt;joerg.roedel@amd.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>xen: off by one errors in multicalls.c</title>
<updated>2011-06-23T22:28:40+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>error27@gmail.com</email>
</author>
<published>2011-06-03T04:45:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a5815ca6823ec525df5669843bcec04fead80671'/>
<id>a5815ca6823ec525df5669843bcec04fead80671</id>
<content type='text'>
commit f124c6ae59e193705c9ddac57684d50006d710e6 upstream.

b-&gt;args[] has MC_ARGS elements, so the comparison here should be
"&gt;=" instead of "&gt;".  Otherwise we read past the end of the array
one space.

Signed-off-by: Dan Carpenter &lt;error27@gmail.com&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Signed-off-by: Jeremy Fitzhardinge &lt;jeremy.fitzhardinge@citrix.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit f124c6ae59e193705c9ddac57684d50006d710e6 upstream.

b-&gt;args[] has MC_ARGS elements, so the comparison here should be
"&gt;=" instead of "&gt;".  Otherwise we read past the end of the array
one space.

Signed-off-by: Dan Carpenter &lt;error27@gmail.com&gt;
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Signed-off-by: Jeremy Fitzhardinge &lt;jeremy.fitzhardinge@citrix.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>xen mmu: fix a race window causing leave_mm BUG()</title>
<updated>2011-06-23T22:28:38+00:00</updated>
<author>
<name>Tian, Kevin</name>
<email>kevin.tian@intel.com</email>
</author>
<published>2011-05-12T02:56:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1d9ddb5571e58141e05a23301253a26de7adfa0b'/>
<id>1d9ddb5571e58141e05a23301253a26de7adfa0b</id>
<content type='text'>
commit 7899891c7d161752f29abcc9bc0a9c6c3a3af26c upstream.

There's a race window in xen_drop_mm_ref, where remote cpu may exit
dirty bitmap between the check on this cpu and the point where remote
cpu handles drop request. So in drop_other_mm_ref we need check
whether TLB state is still lazy before calling into leave_mm. This
bug is rarely observed in earlier kernel, but exaggerated by the
commit 831d52bc153971b70e64eccfbed2b232394f22f8
("x86, mm: avoid possible bogus tlb entries by clearing prev mm_cpumask after switching mm")
which clears bitmap after changing the TLB state. the call trace is as below:

---------------------------------
kernel BUG at arch/x86/mm/tlb.c:61!
invalid opcode: 0000 [#1] SMP
last sysfs file: /sys/devices/system/xen_memory/xen_memory0/info/current_kb
CPU 1
Modules linked in: 8021q garp xen_netback xen_blkback blktap blkback_pagemap nbd bridge stp llc autofs4 ipmi_devintf ipmi_si ipmi_msghandler lockd sunrpc bonding ipv6 xenfs dm_multipath video output sbs sbshc parport_pc lp parport ses enclosure snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device serio_raw bnx2 snd_pcm_oss snd_mixer_oss snd_pcm snd_timer iTCO_wdt snd soundcore snd_page_alloc i2c_i801 iTCO_vendor_support i2c_core pcs pkr pata_acpi ata_generic ata_piix shpchp mptsas mptscsih mptbase [last unloaded: freq_table]
Pid: 25581, comm: khelper Not tainted 2.6.32.36fixxen #1 Tecal RH2285
RIP: e030:[&lt;ffffffff8103a3cb&gt;]  [&lt;ffffffff8103a3cb&gt;] leave_mm+0x15/0x46
RSP: e02b:ffff88002805be48  EFLAGS: 00010046
RAX: 0000000000000000 RBX: 0000000000000001 RCX: ffff88015f8e2da0
RDX: ffff88002805be78 RSI: 0000000000000000 RDI: 0000000000000001
RBP: ffff88002805be48 R08: ffff88009d662000 R09: dead000000200200
R10: dead000000100100 R11: ffffffff814472b2 R12: ffff88009bfc1880
R13: ffff880028063020 R14: 00000000000004f6 R15: 0000000000000000
FS:  00007f62362d66e0(0000) GS:ffff880028058000(0000) knlGS:0000000000000000
CS:  e033 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 0000003aabc11909 CR3: 000000009b8ca000 CR4: 0000000000002660
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 00000000000000 00
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process khelper (pid: 25581, threadinfo ffff88007691e000, task ffff88009b92db40)
Stack:
 ffff88002805be68 ffffffff8100e4ae 0000000000000001 ffff88009d733b88
&lt;0&gt; ffff88002805be98 ffffffff81087224 ffff88002805be78 ffff88002805be78
&lt;0&gt; ffff88015f808360 00000000000004f6 ffff88002805bea8 ffffffff81010108
Call Trace:
 &lt;IRQ&gt;
 [&lt;ffffffff8100e4ae&gt;] drop_other_mm_ref+0x2a/0x53
 [&lt;ffffffff81087224&gt;] generic_smp_call_function_single_interrupt+0xd8/0xfc
 [&lt;ffffffff81010108&gt;] xen_call_function_single_interrupt+0x13/0x28
 [&lt;ffffffff810a936a&gt;] handle_IRQ_event+0x66/0x120
 [&lt;ffffffff810aac5b&gt;] handle_percpu_irq+0x41/0x6e
 [&lt;ffffffff8128c1c0&gt;] __xen_evtchn_do_upcall+0x1ab/0x27d
 [&lt;ffffffff8128dd11&gt;] xen_evtchn_do_upcall+0x33/0x46
 [&lt;ffffffff81013efe&gt;] xen_do_hyper visor_callback+0x1e/0x30
 &lt;EOI&gt;
 [&lt;ffffffff814472b2&gt;] ? _spin_unlock_irqrestore+0x15/0x17
 [&lt;ffffffff8100f8cf&gt;] ? xen_restore_fl_direct_end+0x0/0x1
 [&lt;ffffffff81113f71&gt;] ? flush_old_exec+0x3ac/0x500
 [&lt;ffffffff81150dc5&gt;] ? load_elf_binary+0x0/0x17ef
 [&lt;ffffffff81150dc5&gt;] ? load_elf_binary+0x0/0x17ef
 [&lt;ffffffff8115115d&gt;] ? load_elf_binary+0x398/0x17ef
 [&lt;ffffffff81042fcf&gt;] ? need_resched+0x23/0x2d
 [&lt;ffffffff811f4648&gt;] ? process_measurement+0xc0/0xd7
 [&lt;ffffffff81150dc5&gt;] ? load_elf_binary+0x0/0x17ef
 [&lt;ffffffff81113094&gt;] ? search_binary_handler+0xc8/0x255
 [&lt;ffffffff81114362&gt;] ? do_execve+0x1c3/0x29e
 [&lt;ffffffff8101155d&gt;] ? sys_execve+0x43/0x5d
 [&lt;ffffffff8106fc45&gt;] ? __call_usermodehelper+0x0/0x6f
 [&lt;ffffffff81013e28&gt;] ? kernel_execve+0x68/0xd0
 [&lt;ffffffff 8106fc45&gt;] ? __call_usermodehelper+0x0/0x6f
 [&lt;ffffffff8100f8cf&gt;] ? xen_restore_fl_direct_end+0x0/0x1
 [&lt;ffffffff8106fb64&gt;] ? ____call_usermodehelper+0x113/0x11e
 [&lt;ffffffff81013daa&gt;] ? child_rip+0xa/0x20
 [&lt;ffffffff8106fc45&gt;] ? __call_usermodehelper+0x0/0x6f
 [&lt;ffffffff81012f91&gt;] ? int_ret_from_sys_call+0x7/0x1b
 [&lt;ffffffff8101371d&gt;] ? retint_restore_args+0x5/0x6
 [&lt;ffffffff81013da0&gt;] ? child_rip+0x0/0x20
Code: 41 5e 41 5f c9 c3 55 48 89 e5 0f 1f 44 00 00 e8 17 ff ff ff c9 c3 55 48 89 e5 0f 1f 44 00 00 65 8b 04 25 c8 55 01 00 ff c8 75 04 &lt;0f&gt; 0b eb fe 65 48 8b 34 25 c0 55 01 00 48 81 c6 b8 02 00 00 e8
RIP  [&lt;ffffffff8103a3cb&gt;] leave_mm+0x15/0x46
 RSP &lt;ffff88002805be48&gt;
---[ end trace ce9cee6832a9c503 ]---

Tested-by: Maoxiaoyun&lt;tinnycloud@hotmail.com&gt;
Signed-off-by: Kevin Tian &lt;kevin.tian@intel.com&gt;
[v1: Fleshed out the git description a bit]
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 7899891c7d161752f29abcc9bc0a9c6c3a3af26c upstream.

There's a race window in xen_drop_mm_ref, where remote cpu may exit
dirty bitmap between the check on this cpu and the point where remote
cpu handles drop request. So in drop_other_mm_ref we need check
whether TLB state is still lazy before calling into leave_mm. This
bug is rarely observed in earlier kernel, but exaggerated by the
commit 831d52bc153971b70e64eccfbed2b232394f22f8
("x86, mm: avoid possible bogus tlb entries by clearing prev mm_cpumask after switching mm")
which clears bitmap after changing the TLB state. the call trace is as below:

---------------------------------
kernel BUG at arch/x86/mm/tlb.c:61!
invalid opcode: 0000 [#1] SMP
last sysfs file: /sys/devices/system/xen_memory/xen_memory0/info/current_kb
CPU 1
Modules linked in: 8021q garp xen_netback xen_blkback blktap blkback_pagemap nbd bridge stp llc autofs4 ipmi_devintf ipmi_si ipmi_msghandler lockd sunrpc bonding ipv6 xenfs dm_multipath video output sbs sbshc parport_pc lp parport ses enclosure snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device serio_raw bnx2 snd_pcm_oss snd_mixer_oss snd_pcm snd_timer iTCO_wdt snd soundcore snd_page_alloc i2c_i801 iTCO_vendor_support i2c_core pcs pkr pata_acpi ata_generic ata_piix shpchp mptsas mptscsih mptbase [last unloaded: freq_table]
Pid: 25581, comm: khelper Not tainted 2.6.32.36fixxen #1 Tecal RH2285
RIP: e030:[&lt;ffffffff8103a3cb&gt;]  [&lt;ffffffff8103a3cb&gt;] leave_mm+0x15/0x46
RSP: e02b:ffff88002805be48  EFLAGS: 00010046
RAX: 0000000000000000 RBX: 0000000000000001 RCX: ffff88015f8e2da0
RDX: ffff88002805be78 RSI: 0000000000000000 RDI: 0000000000000001
RBP: ffff88002805be48 R08: ffff88009d662000 R09: dead000000200200
R10: dead000000100100 R11: ffffffff814472b2 R12: ffff88009bfc1880
R13: ffff880028063020 R14: 00000000000004f6 R15: 0000000000000000
FS:  00007f62362d66e0(0000) GS:ffff880028058000(0000) knlGS:0000000000000000
CS:  e033 DS: 0000 ES: 0000 CR0: 000000008005003b
CR2: 0000003aabc11909 CR3: 000000009b8ca000 CR4: 0000000000002660
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 00000000000000 00
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process khelper (pid: 25581, threadinfo ffff88007691e000, task ffff88009b92db40)
Stack:
 ffff88002805be68 ffffffff8100e4ae 0000000000000001 ffff88009d733b88
&lt;0&gt; ffff88002805be98 ffffffff81087224 ffff88002805be78 ffff88002805be78
&lt;0&gt; ffff88015f808360 00000000000004f6 ffff88002805bea8 ffffffff81010108
Call Trace:
 &lt;IRQ&gt;
 [&lt;ffffffff8100e4ae&gt;] drop_other_mm_ref+0x2a/0x53
 [&lt;ffffffff81087224&gt;] generic_smp_call_function_single_interrupt+0xd8/0xfc
 [&lt;ffffffff81010108&gt;] xen_call_function_single_interrupt+0x13/0x28
 [&lt;ffffffff810a936a&gt;] handle_IRQ_event+0x66/0x120
 [&lt;ffffffff810aac5b&gt;] handle_percpu_irq+0x41/0x6e
 [&lt;ffffffff8128c1c0&gt;] __xen_evtchn_do_upcall+0x1ab/0x27d
 [&lt;ffffffff8128dd11&gt;] xen_evtchn_do_upcall+0x33/0x46
 [&lt;ffffffff81013efe&gt;] xen_do_hyper visor_callback+0x1e/0x30
 &lt;EOI&gt;
 [&lt;ffffffff814472b2&gt;] ? _spin_unlock_irqrestore+0x15/0x17
 [&lt;ffffffff8100f8cf&gt;] ? xen_restore_fl_direct_end+0x0/0x1
 [&lt;ffffffff81113f71&gt;] ? flush_old_exec+0x3ac/0x500
 [&lt;ffffffff81150dc5&gt;] ? load_elf_binary+0x0/0x17ef
 [&lt;ffffffff81150dc5&gt;] ? load_elf_binary+0x0/0x17ef
 [&lt;ffffffff8115115d&gt;] ? load_elf_binary+0x398/0x17ef
 [&lt;ffffffff81042fcf&gt;] ? need_resched+0x23/0x2d
 [&lt;ffffffff811f4648&gt;] ? process_measurement+0xc0/0xd7
 [&lt;ffffffff81150dc5&gt;] ? load_elf_binary+0x0/0x17ef
 [&lt;ffffffff81113094&gt;] ? search_binary_handler+0xc8/0x255
 [&lt;ffffffff81114362&gt;] ? do_execve+0x1c3/0x29e
 [&lt;ffffffff8101155d&gt;] ? sys_execve+0x43/0x5d
 [&lt;ffffffff8106fc45&gt;] ? __call_usermodehelper+0x0/0x6f
 [&lt;ffffffff81013e28&gt;] ? kernel_execve+0x68/0xd0
 [&lt;ffffffff 8106fc45&gt;] ? __call_usermodehelper+0x0/0x6f
 [&lt;ffffffff8100f8cf&gt;] ? xen_restore_fl_direct_end+0x0/0x1
 [&lt;ffffffff8106fb64&gt;] ? ____call_usermodehelper+0x113/0x11e
 [&lt;ffffffff81013daa&gt;] ? child_rip+0xa/0x20
 [&lt;ffffffff8106fc45&gt;] ? __call_usermodehelper+0x0/0x6f
 [&lt;ffffffff81012f91&gt;] ? int_ret_from_sys_call+0x7/0x1b
 [&lt;ffffffff8101371d&gt;] ? retint_restore_args+0x5/0x6
 [&lt;ffffffff81013da0&gt;] ? child_rip+0x0/0x20
Code: 41 5e 41 5f c9 c3 55 48 89 e5 0f 1f 44 00 00 e8 17 ff ff ff c9 c3 55 48 89 e5 0f 1f 44 00 00 65 8b 04 25 c8 55 01 00 ff c8 75 04 &lt;0f&gt; 0b eb fe 65 48 8b 34 25 c0 55 01 00 48 81 c6 b8 02 00 00 e8
RIP  [&lt;ffffffff8103a3cb&gt;] leave_mm+0x15/0x46
 RSP &lt;ffff88002805be48&gt;
---[ end trace ce9cee6832a9c503 ]---

Tested-by: Maoxiaoyun&lt;tinnycloud@hotmail.com&gt;
Signed-off-by: Kevin Tian &lt;kevin.tian@intel.com&gt;
[v1: Fleshed out the git description a bit]
Signed-off-by: Konrad Rzeszutek Wilk &lt;konrad.wilk@oracle.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>ARM: 6941/1: cache: ensure MVA is cacheline aligned in flush_kern_dcache_area</title>
<updated>2011-06-23T22:28:37+00:00</updated>
<author>
<name>Will Deacon</name>
<email>will.deacon@arm.com</email>
</author>
<published>2011-05-26T10:20:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2ded2825ecc319281b95aaed836065321c1d9e86'/>
<id>2ded2825ecc319281b95aaed836065321c1d9e86</id>
<content type='text'>
commit a248b13b21ae00b97638b4f435c8df3075808b5d upstream.

The v6 and v7 implementations of flush_kern_dcache_area do not align
the passed MVA to the size of a cacheline in the data cache. If a
misaligned address is used, only a subset of the requested area will
be flushed. This has been observed to cause failures in SMP boot where
the secondary_data initialised by the primary CPU is not cacheline
aligned, causing the secondary CPUs to read incorrect values for their
pgd and stack pointers.

This patch ensures that the base address is cacheline aligned before
flushing the d-cache.

Acked-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit a248b13b21ae00b97638b4f435c8df3075808b5d upstream.

The v6 and v7 implementations of flush_kern_dcache_area do not align
the passed MVA to the size of a cacheline in the data cache. If a
misaligned address is used, only a subset of the requested area will
be flushed. This has been observed to cause failures in SMP boot where
the secondary_data initialised by the primary CPU is not cacheline
aligned, causing the secondary CPUs to read incorrect values for their
pgd and stack pointers.

This patch ensures that the base address is cacheline aligned before
flushing the d-cache.

Acked-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>x86, amd: Use _safe() msr access for GartTlbWlk disable code</title>
<updated>2011-06-23T22:28:35+00:00</updated>
<author>
<name>Roedel, Joerg</name>
<email>Joerg.Roedel@amd.com</email>
</author>
<published>2011-05-19T09:13:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6935afd49db0e94cfd52f32c7548eae48390c39a'/>
<id>6935afd49db0e94cfd52f32c7548eae48390c39a</id>
<content type='text'>
commit d47cc0db8fd6011de2248df505fc34990b7451bf upstream.

The workaround for Bugzilla:

	https://bugzilla.kernel.org/show_bug.cgi?id=33012

introduced a read and a write to the MC4 mask msr.

Unfortunatly this MSR is not emulated by the KVM hypervisor
so that the kernel will get a #GP and crashes when applying
this workaround when running inside KVM.

This issue was reported as:

	https://bugzilla.kernel.org/show_bug.cgi?id=35132

and is fixed with this patch. The change just let the kernel
ignore any #GP it gets while accessing this MSR by using the
_safe msr access methods.

Reported-by: Török Edwin &lt;edwintorok@gmail.com&gt;
Signed-off-by: Joerg Roedel &lt;joerg.roedel@amd.com&gt;
Cc: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Cc: Maciej Rutecki &lt;maciej.rutecki@gmail.com&gt;
Cc: Avi Kivity &lt;avi@redhat.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit d47cc0db8fd6011de2248df505fc34990b7451bf upstream.

The workaround for Bugzilla:

	https://bugzilla.kernel.org/show_bug.cgi?id=33012

introduced a read and a write to the MC4 mask msr.

Unfortunatly this MSR is not emulated by the KVM hypervisor
so that the kernel will get a #GP and crashes when applying
this workaround when running inside KVM.

This issue was reported as:

	https://bugzilla.kernel.org/show_bug.cgi?id=35132

and is fixed with this patch. The change just let the kernel
ignore any #GP it gets while accessing this MSR by using the
_safe msr access methods.

Reported-by: Török Edwin &lt;edwintorok@gmail.com&gt;
Signed-off-by: Joerg Roedel &lt;joerg.roedel@amd.com&gt;
Cc: Rafael J. Wysocki &lt;rjw@sisk.pl&gt;
Cc: Maciej Rutecki &lt;maciej.rutecki@gmail.com&gt;
Cc: Avi Kivity &lt;avi@redhat.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
</feed>
