<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/fs, branch tegra-10.9.4</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>fs: writeback: do not sync superblocks if bdi tasks are freezing</title>
<updated>2010-06-11T16:43:06+00:00</updated>
<author>
<name>Gary King</name>
<email>gking@nvidia.com</email>
</author>
<published>2010-06-10T04:33:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=18362ebbdb53cca48ec201bece4e3a31680671e4'/>
<id>18362ebbdb53cca48ec201bece4e3a31680671e4</id>
<content type='text'>
during a system suspend operation without MMC_UNSAFE_RESUME, the mmc stack
removes all of the cards on the bus so that they can be redetected during
resume

for data cards, the remove operation causes calls to sync the file
systems on the mounted partitions

however, since this happens during the device driver suspend path,
tasks will already be frozen, including the bdi flusher task which are
responsible for performing all of the queued operations to sync the removed
card's file system. since the superblock sync is a blocking operation, this
causes a deadlock, as the suspend operation is blocked on a frozen task

this patch causes the fs-writeback code to skip the superblock sync if
the bdi flusher tasks are freezing or already frozen, to prevent the
deadlock

Change-Id: I5970ac9a50f1968ba5f413a46be0c2e16222581c
Reviewed-on: http://git-master/r/2373
Reviewed-by: Pavan Kunapuli &lt;pkunapuli@nvidia.com&gt;
Tested-by: Pavan Kunapuli &lt;pkunapuli@nvidia.com&gt;
Reviewed-by: Gary King &lt;gking@nvidia.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
during a system suspend operation without MMC_UNSAFE_RESUME, the mmc stack
removes all of the cards on the bus so that they can be redetected during
resume

for data cards, the remove operation causes calls to sync the file
systems on the mounted partitions

however, since this happens during the device driver suspend path,
tasks will already be frozen, including the bdi flusher task which are
responsible for performing all of the queued operations to sync the removed
card's file system. since the superblock sync is a blocking operation, this
causes a deadlock, as the suspend operation is blocked on a frozen task

this patch causes the fs-writeback code to skip the superblock sync if
the bdi flusher tasks are freezing or already frozen, to prevent the
deadlock

Change-Id: I5970ac9a50f1968ba5f413a46be0c2e16222581c
Reviewed-on: http://git-master/r/2373
Reviewed-by: Pavan Kunapuli &lt;pkunapuli@nvidia.com&gt;
Tested-by: Pavan Kunapuli &lt;pkunapuli@nvidia.com&gt;
Reviewed-by: Gary King &lt;gking@nvidia.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>proc: pagemap: Hold mmap_sem during page walk</title>
<updated>2010-05-23T21:43:04+00:00</updated>
<author>
<name>KAMEZAWA Hiroyuki</name>
<email>kamezawa.hiroyu@jp.fujitsu.com</email>
</author>
<published>2010-04-02T00:11:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b3260943c86c47333a08b4b6f8fffd44846696b5'/>
<id>b3260943c86c47333a08b4b6f8fffd44846696b5</id>
<content type='text'>
In initial design, walk_page_range() was designed just for walking page
table and it didn't require mmap_sem.  Now, find_vma() etc..  are used
in walk_page_range() and we need mmap_sem around it.

This patch adds mmap_sem around walk_page_range().

Because /proc/&lt;pid&gt;/pagemap's callback routine use put_user(), we have
to get rid of it to do sane fix.

Changelog: 2010/Apr/2
 - fixed start_vaddr and end overflow
Changelog: 2010/Apr/1
 - fixed start_vaddr calculation
 - removed unnecessary cast.
 - removed unnecessary change in smaps.
 - use GFP_TEMPORARY instead of GFP_KERNEL

Signed-off-by: KAMEZAWA Hiroyuki &lt;kamezawa.hiroyu@jp.fujitsu.com&gt;
Cc: Matt Mackall &lt;mpm@selenic.com&gt;
Cc: KOSAKI Motohiro &lt;kosaki.motohiro@jp.fujitsu.com&gt;
Cc: Brian Swetland &lt;swetland@google.com&gt;
Cc: Dave Hansen &lt;haveblue@us.ibm.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: San Mehat &lt;san@google.com&gt;
[ Fixed kmalloc failure return code as per Matt ]
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In initial design, walk_page_range() was designed just for walking page
table and it didn't require mmap_sem.  Now, find_vma() etc..  are used
in walk_page_range() and we need mmap_sem around it.

This patch adds mmap_sem around walk_page_range().

Because /proc/&lt;pid&gt;/pagemap's callback routine use put_user(), we have
to get rid of it to do sane fix.

Changelog: 2010/Apr/2
 - fixed start_vaddr and end overflow
Changelog: 2010/Apr/1
 - fixed start_vaddr calculation
 - removed unnecessary cast.
 - removed unnecessary change in smaps.
 - use GFP_TEMPORARY instead of GFP_KERNEL

Signed-off-by: KAMEZAWA Hiroyuki &lt;kamezawa.hiroyu@jp.fujitsu.com&gt;
Cc: Matt Mackall &lt;mpm@selenic.com&gt;
Cc: KOSAKI Motohiro &lt;kosaki.motohiro@jp.fujitsu.com&gt;
Cc: Brian Swetland &lt;swetland@google.com&gt;
Cc: Dave Hansen &lt;haveblue@us.ibm.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: San Mehat &lt;san@google.com&gt;
[ Fixed kmalloc failure return code as per Matt ]
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "proc: pagemap: Hold mmap_sem during page walk"</title>
<updated>2010-05-23T21:43:03+00:00</updated>
<author>
<name>San Mehat</name>
<email>san@google.com</email>
</author>
<published>2010-04-19T14:45:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=6c8de118e38111d2c2e07ee5ad7572b582f0a1c6'/>
<id>6c8de118e38111d2c2e07ee5ad7572b582f0a1c6</id>
<content type='text'>
This reverts commit 0bf551684025a5f0f3c9aac694cd5cf73706cb70.

Reverting for proper up-stream fix

Signed-off-by: San Mehat &lt;san@google.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 0bf551684025a5f0f3c9aac694cd5cf73706cb70.

Reverting for proper up-stream fix

Signed-off-by: San Mehat &lt;san@google.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fs: partitions: Fix warnings in fs/partitions/check.c</title>
<updated>2010-05-23T21:43:00+00:00</updated>
<author>
<name>Colin Cross</name>
<email>ccross@android.com</email>
</author>
<published>2010-04-07T19:08:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0f477b455a81abd11de8ec497adecd29900cef86'/>
<id>0f477b455a81abd11de8ec497adecd29900cef86</id>
<content type='text'>
Change-Id: I4398ace0c55d4833b1fcbb7a4e71ab8f0b1b044a
Signed-off-by: Colin Cross &lt;ccross@android.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I4398ace0c55d4833b1fcbb7a4e71ab8f0b1b044a
Signed-off-by: Colin Cross &lt;ccross@android.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>procfs: add tegra bootarg directory tree</title>
<updated>2010-05-23T21:42:51+00:00</updated>
<author>
<name>Min-wuk Lee</name>
<email>mlee@nvidia.com</email>
</author>
<published>2010-02-23T02:07:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ccb4e22ef0deee7e66e2ef4787a9a9dacae08824'/>
<id>ccb4e22ef0deee7e66e2ef4787a9a9dacae08824</id>
<content type='text'>
add a procfs directory to reflect tegra ATAGs to user-space, so that
user-space components which require information originating from the
bootloader(e.g., display parameters for seamless display transitions)
can be supported.

bug 645228

Change-Id: I1abd9eeeed8a82b0d387fc7a7ed4d481a7b96adb
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
add a procfs directory to reflect tegra ATAGs to user-space, so that
user-space components which require information originating from the
bootloader(e.g., display parameters for seamless display transitions)
can be supported.

bug 645228

Change-Id: I1abd9eeeed8a82b0d387fc7a7ed4d481a7b96adb
</pre>
</div>
</content>
</entry>
<entry>
<title>yaffs: add TAG_NO_ECC Kconfig</title>
<updated>2010-05-17T01:54:05+00:00</updated>
<author>
<name>Gary King</name>
<email>gking@nvidia.com</email>
</author>
<published>2009-12-08T04:25:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7b415930da2505d4d2c0b76329215298ff3e6189'/>
<id>7b415930da2505d4d2c0b76329215298ff3e6189</id>
<content type='text'>
on architectures which support ECC in hardware, reserve the 8B of OOB area
normally consumed by the YAFFS2 tag area ECC for use by the architecture
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
on architectures which support ECC in hardware, reserve the 8B of OOB area
normally consumed by the YAFFS2 tag area ECC for use by the architecture
</pre>
</div>
</content>
</entry>
<entry>
<title>block: add helpers to run flush_dcache_page() against a bio and a request's pages</title>
<updated>2010-04-05T21:03:24+00:00</updated>
<author>
<name>Ilya Loginov</name>
<email>isloginov@gmail.com</email>
</author>
<published>2009-11-26T08:16:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=cedfa4f5754c5aa562d545865922626e2239f11b'/>
<id>cedfa4f5754c5aa562d545865922626e2239f11b</id>
<content type='text'>
Mtdblock driver doesn't call flush_dcache_page for pages in request.  So,
this causes problems on architectures where the icache doesn't fill from
the dcache or with dcache aliases.  The patch fixes this.

The ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE symbol was introduced to avoid
pointless empty cache-thrashing loops on architectures for which
flush_dcache_page() is a no-op.  Every architecture was provided with this
flush pages on architectires where ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE is
equal 1 or do nothing otherwise.

See "fix mtd_blkdevs problem with caches on some architectures" discussion
on LKML for more information.

Signed-off-by: Ilya Loginov &lt;isloginov@gmail.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: David Woodhouse &lt;dwmw2@infradead.org&gt;
Cc: Peter Horton &lt;phorton@bitbox.co.uk&gt;
Cc: "Ed L. Cashin" &lt;ecashin@coraid.com&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Mtdblock driver doesn't call flush_dcache_page for pages in request.  So,
this causes problems on architectures where the icache doesn't fill from
the dcache or with dcache aliases.  The patch fixes this.

The ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE symbol was introduced to avoid
pointless empty cache-thrashing loops on architectures for which
flush_dcache_page() is a no-op.  Every architecture was provided with this
flush pages on architectires where ARCH_IMPLEMENTS_FLUSH_DCACHE_PAGE is
equal 1 or do nothing otherwise.

See "fix mtd_blkdevs problem with caches on some architectures" discussion
on LKML for more information.

Signed-off-by: Ilya Loginov &lt;isloginov@gmail.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: David Woodhouse &lt;dwmw2@infradead.org&gt;
Cc: Peter Horton &lt;phorton@bitbox.co.uk&gt;
Cc: "Ed L. Cashin" &lt;ecashin@coraid.com&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>proc: pagemap: Hold mmap_sem during page walk</title>
<updated>2010-03-30T23:44:10+00:00</updated>
<author>
<name>San Mehat</name>
<email>san@google.com</email>
</author>
<published>2010-03-30T23:43:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=0bf551684025a5f0f3c9aac694cd5cf73706cb70'/>
<id>0bf551684025a5f0f3c9aac694cd5cf73706cb70</id>
<content type='text'>
If the mmap_sem is not held while we walk_page_range(), then
it is possible for find_vma() to race with a remove_vma_list()
caused by do_munmap() (or others).

Unable to handle kernel paging request at virtual address 6b6b6b5b
Internal error: Oops: 5 [#1] PREEMPT
CPU: 0    Not tainted  (2.6.32.9-27154-ge3e6e27 #1)
PC is at find_vma+0x40/0x7c
LR is at walk_page_range+0x70/0x230
pc : [&lt;c00aa3ac&gt;]    lr : [&lt;c00b298c&gt;]    psr: 20000013
sp : c6aa9eb8  ip : 6b6b6b53  fp : c6a58f60
r10: c7e1d1b8  r9 : 0001bca0  r8 : 47000000
r7 : c6aa9f80  r6 : c6aa8000  r5 : 46fbd000  r4 : 6b6b6b6b
r3 : c7ca4820  r2 : 6b6b6b6b  r1 : 46fbd000  r0 : c70e3e40
Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 10c5787d  Table: 26574019  DAC: 00000015

[&lt;c00aa3ac&gt;] (find_vma+0x40/0x7c) from [&lt;c00b298c&gt;] (walk_page_range+0x70/0x230)
[&lt;c00b298c&gt;] (walk_page_range+0x70/0x230) from [&lt;c00f5d3c&gt;] (pagemap_read+0x1a4/0x278)
[&lt;c00f5d3c&gt;] (pagemap_read+0x1a4/0x278) from [&lt;c00bac40&gt;] (vfs_read+0xa8/0x150)
[&lt;c00bac40&gt;] (vfs_read+0xa8/0x150) from [&lt;c00bad94&gt;] (sys_read+0x3c/0x68)
[&lt;c00bad94&gt;] (sys_read+0x3c/0x68) from [&lt;c0026f00&gt;] (ret_fast_syscall+0x0/0x2c)
Code: 98bd8010 e5932004 e3a00000 ea000008 (e5124010)

Signed-off-by: San Mehat &lt;san@google.com&gt;
CC: Brian Swetland &lt;swetland@google.com&gt;
CC: Matt Mackall &lt;mpm@selenic.com&gt;
CC: Andrew Morton &lt;akpm@linux-foundation.org&gt;
CC: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the mmap_sem is not held while we walk_page_range(), then
it is possible for find_vma() to race with a remove_vma_list()
caused by do_munmap() (or others).

Unable to handle kernel paging request at virtual address 6b6b6b5b
Internal error: Oops: 5 [#1] PREEMPT
CPU: 0    Not tainted  (2.6.32.9-27154-ge3e6e27 #1)
PC is at find_vma+0x40/0x7c
LR is at walk_page_range+0x70/0x230
pc : [&lt;c00aa3ac&gt;]    lr : [&lt;c00b298c&gt;]    psr: 20000013
sp : c6aa9eb8  ip : 6b6b6b53  fp : c6a58f60
r10: c7e1d1b8  r9 : 0001bca0  r8 : 47000000
r7 : c6aa9f80  r6 : c6aa8000  r5 : 46fbd000  r4 : 6b6b6b6b
r3 : c7ca4820  r2 : 6b6b6b6b  r1 : 46fbd000  r0 : c70e3e40
Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
Control: 10c5787d  Table: 26574019  DAC: 00000015

[&lt;c00aa3ac&gt;] (find_vma+0x40/0x7c) from [&lt;c00b298c&gt;] (walk_page_range+0x70/0x230)
[&lt;c00b298c&gt;] (walk_page_range+0x70/0x230) from [&lt;c00f5d3c&gt;] (pagemap_read+0x1a4/0x278)
[&lt;c00f5d3c&gt;] (pagemap_read+0x1a4/0x278) from [&lt;c00bac40&gt;] (vfs_read+0xa8/0x150)
[&lt;c00bac40&gt;] (vfs_read+0xa8/0x150) from [&lt;c00bad94&gt;] (sys_read+0x3c/0x68)
[&lt;c00bad94&gt;] (sys_read+0x3c/0x68) from [&lt;c0026f00&gt;] (ret_fast_syscall+0x0/0x2c)
Code: 98bd8010 e5932004 e3a00000 ea000008 (e5124010)

Signed-off-by: San Mehat &lt;san@google.com&gt;
CC: Brian Swetland &lt;swetland@google.com&gt;
CC: Matt Mackall &lt;mpm@selenic.com&gt;
CC: Andrew Morton &lt;akpm@linux-foundation.org&gt;
CC: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge commit 'v2.6.32.9' into android-2.6.32</title>
<updated>2010-03-11T00:38:33+00:00</updated>
<author>
<name>Arve Hjønnevåg</name>
<email>arve@android.com</email>
</author>
<published>2010-03-11T00:38:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=67078ecae3edb5b4657dcb9f67f744ecccd18a97'/>
<id>67078ecae3edb5b4657dcb9f67f744ecccd18a97</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "sysfs: Fix sysfs owner and group."</title>
<updated>2010-03-11T00:38:13+00:00</updated>
<author>
<name>Arve Hjønnevåg</name>
<email>arve@android.com</email>
</author>
<published>2010-03-11T00:38:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=dc136618cb23810dd3d4adfcb836b289cd528b4f'/>
<id>dc136618cb23810dd3d4adfcb836b289cd528b4f</id>
<content type='text'>
This reverts commit f1f8e7cd6f796b15ed011361f09b57db796d9b4e.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit f1f8e7cd6f796b15ed011361f09b57db796d9b4e.
</pre>
</div>
</content>
</entry>
</feed>
