<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/arch, branch v2.6.35</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/arch?h=v2.6.35</id>
<link rel='self' href='https://git.amat.us/linux/atom/arch?h=v2.6.35'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2010-07-31T02:02:51Z</updated>
<entry>
<title>Merge master.kernel.org:/home/rmk/linux-2.6-arm</title>
<updated>2010-07-31T02:02:51Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2010-07-31T02:02:51Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a63ecd835f075b21d7d5cef9580447f5fbb36263'/>
<id>urn:sha1:a63ecd835f075b21d7d5cef9580447f5fbb36263</id>
<content type='text'>
* master.kernel.org:/home/rmk/linux-2.6-arm:
  cyber2000fb: fix console in truecolor modes
  cyber2000fb: fix machine hang on module load
  SA1111: Eliminate use after free
  ARM: Fix Versatile/Realview/VExpress MMC card detection sense
  ARM: 6279/1: highmem: fix SMP preemption bug in kmap_high_l1_vipt
  ARM: Add barriers to io{read,write}{8,16,32} accessors as well
  ARM: 6273/1: Add barriers to the I/O accessors if ARM_DMA_MEM_BUFFERABLE
  ARM: 6272/1: Convert L2x0 to use the IO relaxed operations
  ARM: 6271/1: Introduce *_relaxed() I/O accessors
  ARM: 6275/1: ux500: don't use writeb() in uncompress.h
  ARM: 6270/1: clean files in arch/arm/boot/compressed/
  ARM: Fix csum_partial_copy_from_user()
</content>
</entry>
<entry>
<title>SA1111: Eliminate use after free</title>
<updated>2010-07-30T22:19:30Z</updated>
<author>
<name>Julia Lawall</name>
<email>julia@diku.dk</email>
</author>
<published>2010-07-30T15:17:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f2d2420bbf4bb125ea5f2e1573d4da6b668fc78a'/>
<id>urn:sha1:f2d2420bbf4bb125ea5f2e1573d4da6b668fc78a</id>
<content type='text'>
__sa1111_remove always frees its argument, so the subsequent reference to
sachip-&gt;saved_state represents a use after free.  __sa1111_remove does not
appear to use the saved_state field, so the patch simply frees it first.

A simplified version of the semantic patch that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// &lt;smpl&gt;
@@
expression E,E2;
@@

__sa1111_remove(E)
...
(
  E = E2
|
* E
)
// &lt;/smpl&gt;

Signed-off-by: Julia Lawall &lt;julia@diku.dk&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: Fix Versatile/Realview/VExpress MMC card detection sense</title>
<updated>2010-07-30T22:16:32Z</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2010-07-29T14:58:59Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=74bc80931c8bc34d24545f992a35349ad548897c'/>
<id>urn:sha1:74bc80931c8bc34d24545f992a35349ad548897c</id>
<content type='text'>
The MMC card detection sense has become really confused with negations
at various levels, leading to some platforms not detecting inserted
cards.  Fix this by converting everything to positive logic throughout,
thereby getting rid of these negations.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: 6279/1: highmem: fix SMP preemption bug in kmap_high_l1_vipt</title>
<updated>2010-07-30T22:16:07Z</updated>
<author>
<name>Gary King</name>
<email>gking@nvidia.com</email>
</author>
<published>2010-07-29T16:37:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=831e8047eb2af310184a9d4d9e749f3de119ae39'/>
<id>urn:sha1:831e8047eb2af310184a9d4d9e749f3de119ae39</id>
<content type='text'>
smp_processor_id() must not be called from a preemptible context (this
is checked by CONFIG_DEBUG_PREEMPT).  kmap_high_l1_vipt() was doing so.
This lead to a problem where the wrong per_cpu kmap_high_l1_vipt_depth
could be incremented, causing a BUG_ON(*depth &lt;= 0); in
kunmap_high_l1_vipt().

The solution is to move the call to smp_processor_id() after the call
to preempt_disable().

Originally by: Andrew Howe &lt;ahowe@nvidia.com&gt;

Signed-off-by: Gary King &lt;gking@nvidia.com&gt;
Acked-by: Nicolas Pitre &lt;nico.as.pitre@linaro.org&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6</title>
<updated>2010-07-29T22:23:28Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2010-07-29T22:23:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a2dccdb2055abeb8a7ce8e45e5f83de9c980a00c'/>
<id>urn:sha1:a2dccdb2055abeb8a7ce8e45e5f83de9c980a00c</id>
<content type='text'>
* 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
  [S390] etr: fix clock synchronization race
  [S390] Fix IRQ tracing in case of PER
</content>
</entry>
<entry>
<title>ARM: Add barriers to io{read,write}{8,16,32} accessors as well</title>
<updated>2010-07-29T13:04:37Z</updated>
<author>
<name>Russell King</name>
<email>rmk+kernel@arm.linux.org.uk</email>
</author>
<published>2010-07-29T10:38:05Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b92b3612134faff171981fad4f0adb33f485e02e'/>
<id>urn:sha1:b92b3612134faff171981fad4f0adb33f485e02e</id>
<content type='text'>
The ioread/iowrite accessors also need barriers as they're used in
place of readl/writel et.al. in portable drivers.  Create __iormb()
and __iowmb() which are conditionally defined to be barriers dependent
on ARM_DMA_MEM_BUFFERABLE, and always use these macros in the accessors.

Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: 6273/1: Add barriers to the I/O accessors if ARM_DMA_MEM_BUFFERABLE</title>
<updated>2010-07-29T13:04:37Z</updated>
<author>
<name>Catalin Marinas</name>
<email>catalin.marinas@arm.com</email>
</author>
<published>2010-07-28T21:01:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=79f64dbf68c8a9779a7e9a25e0a9f0217a25b57a'/>
<id>urn:sha1:79f64dbf68c8a9779a7e9a25e0a9f0217a25b57a</id>
<content type='text'>
When the coherent DMA buffers are mapped as Normal Non-cacheable
(ARM_DMA_MEM_BUFFERABLE enabled), buffer accesses are no longer ordered
with Device memory accesses causing failures in device drivers that do
not use the mandatory memory barriers before starting a DMA transfer.
LKML discussions led to the conclusion that such barriers have to be
added to the I/O accessors:

http://thread.gmane.org/gmane.linux.kernel/683509/focus=686153
http://thread.gmane.org/gmane.linux.ide/46414
http://thread.gmane.org/gmane.linux.kernel.cross-arch/5250

This patch introduces a wmb() barrier to the write*() I/O accessors to
handle the situations where Normal Non-cacheable writes are still in the
processor (or L2 cache controller) write buffer before a DMA transfer
command is issued. For the read*() accessors, a rmb() is introduced
after the I/O to avoid speculative loads where the driver polls for a
DMA transfer ready bit.

Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: 6272/1: Convert L2x0 to use the IO relaxed operations</title>
<updated>2010-07-29T13:04:36Z</updated>
<author>
<name>Catalin Marinas</name>
<email>catalin.marinas@arm.com</email>
</author>
<published>2010-07-28T21:01:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6775a558fece413376e1dacd435adb5fbe225f40'/>
<id>urn:sha1:6775a558fece413376e1dacd435adb5fbe225f40</id>
<content type='text'>
This patch is in preparation for a subsequent patch which adds barriers
to the I/O accessors. Since the mandatory barriers may do an L2 cache
sync, this patch avoids a recursive call into l2x0_cache_sync() via the
write*() accessors and wmb() and a call into l2x0_cache_sync() with the
l2x0_lock held.

Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: 6271/1: Introduce *_relaxed() I/O accessors</title>
<updated>2010-07-29T13:04:36Z</updated>
<author>
<name>Catalin Marinas</name>
<email>catalin.marinas@arm.com</email>
</author>
<published>2010-07-28T21:00:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e936771a76a7b61ca55a5142a3de835c2e196871'/>
<id>urn:sha1:e936771a76a7b61ca55a5142a3de835c2e196871</id>
<content type='text'>
This patch introduces readl*_relaxed()/write*_relaxed() as the main I/O
accessors (when __mem_pci is defined). The standard read*()/write*()
macros are now based on the relaxed accessors.

This patch is in preparation for a subsequent patch which adds barriers
to the I/O accessors.

Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>ARM: 6275/1: ux500: don't use writeb() in uncompress.h</title>
<updated>2010-07-29T13:04:35Z</updated>
<author>
<name>Rabin Vincent</name>
<email>rabin.vincent@stericsson.com</email>
</author>
<published>2010-07-29T11:13:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=661f10f6b6ce55c737e88c4803453eba4ba3a61c'/>
<id>urn:sha1:661f10f6b6ce55c737e88c4803453eba4ba3a61c</id>
<content type='text'>
Don't use writeb() in uncompress.h, to avoid the following build errors
when the "Add barriers to the I/O accessors" series is applied.  Use
__raw_writeb() instead.

arch/arm/boot/compressed/misc.o: In function `putc':
arch/arm/mach-ux500/include/mach/uncompress.h:41:
undefined reference to `outer_cache'

Acked-by: Linus Walleij &lt;linus.walleij@stericsson.com&gt;
Signed-off-by: Rabin Vincent &lt;rabin.vincent@stericsson.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
</feed>
