<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/fs, branch v3.2.15-rt24</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>Merge commit 'v3.2.15' into rt-3.2.15-rt24</title>
<updated>2012-04-14T14:13:39+00:00</updated>
<author>
<name>Clark Williams</name>
<email>williams@redhat.com</email>
</author>
<published>2012-04-14T14:13:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=4905660cd237e4c4ede46920851caa12739f006f'/>
<id>4905660cd237e4c4ede46920851caa12739f006f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix length of buffer copied in __nfs4_get_acl_uncached</title>
<updated>2012-04-13T15:33:49+00:00</updated>
<author>
<name>Sachin Prabhu</name>
<email>sprabhu@redhat.com</email>
</author>
<published>2012-03-22T16:46:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a94841724154dac38ce5239d1d88c00e758dc20d'/>
<id>a94841724154dac38ce5239d1d88c00e758dc20d</id>
<content type='text'>
commit 20e0fa98b751facf9a1101edaefbc19c82616a68 upstream.

_copy_from_pages() used to copy data from the temporary buffer to the
user passed buffer is passed the wrong size parameter when copying
data. res.acl_len contains both the bitmap and acl lenghts while
acl_len contains the acl length after adjusting for the bitmap size.

Signed-off-by: Sachin Prabhu &lt;sprabhu@redhat.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Cc: Josh Boyer &lt;jwboyer@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

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

_copy_from_pages() used to copy data from the temporary buffer to the
user passed buffer is passed the wrong size parameter when copying
data. res.acl_len contains both the bitmap and acl lenghts while
acl_len contains the acl length after adjusting for the bitmap size.

Signed-off-by: Sachin Prabhu &lt;sprabhu@redhat.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Cc: Josh Boyer &lt;jwboyer@redhat.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>CIFS: Fix VFS lock usage for oplocked files</title>
<updated>2012-04-13T15:33:48+00:00</updated>
<author>
<name>Pavel Shilovsky</name>
<email>piastry@etersoft.ru</email>
</author>
<published>2012-03-28T17:56:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2d5e264758e31dd1d1e609a5a4d3d6dc693b9d2e'/>
<id>2d5e264758e31dd1d1e609a5a4d3d6dc693b9d2e</id>
<content type='text'>
commit 66189be74ff5f9f3fd6444315b85be210d07cef2 upstream.

We can deadlock if we have a write oplock and two processes
use the same file handle. In this case the first process can't
unlock its lock if the second process blocked on the lock in the
same time.

Fix it by using posix_lock_file rather than posix_lock_file_wait
under cinode-&gt;lock_mutex. If we request a blocking lock and
posix_lock_file indicates that there is another lock that prevents
us, wait untill that lock is released and restart our call.

Acked-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Pavel Shilovsky &lt;piastry@etersoft.ru&gt;
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

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

We can deadlock if we have a write oplock and two processes
use the same file handle. In this case the first process can't
unlock its lock if the second process blocked on the lock in the
same time.

Fix it by using posix_lock_file rather than posix_lock_file_wait
under cinode-&gt;lock_mutex. If we request a blocking lock and
posix_lock_file indicates that there is another lock that prevents
us, wait untill that lock is released and restart our call.

Acked-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Pavel Shilovsky &lt;piastry@etersoft.ru&gt;
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>fs: dcache: Use cpu_chill() in trylock loops</title>
<updated>2012-04-10T21:37:37+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2012-03-07T20:00:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=389cd313449206681cd753a5f0440ade5b70d4f0'/>
<id>389cd313449206681cd753a5f0440ade5b70d4f0</id>
<content type='text'>
Retry loops on RT might loop forever when the modifying side was
preempted. Use cpu_chill() instead of cpu_relax() to let the system
make progress.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: stable-rt@vger.kernel.org
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Retry loops on RT might loop forever when the modifying side was
preempted. Use cpu_chill() instead of cpu_relax() to let the system
make progress.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: stable-rt@vger.kernel.org
</pre>
</div>
</content>
</entry>
<entry>
<title>epoll.patch</title>
<updated>2012-04-10T21:37:26+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2011-07-08T14:35:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=dc3d868b49ed9214911ae2b789429bf4aa725c5e'/>
<id>dc3d868b49ed9214911ae2b789429bf4aa725c5e</id>
<content type='text'>
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fs: ntfs: disable interrupt only on !RT</title>
<updated>2012-04-10T21:37:24+00:00</updated>
<author>
<name>Mike Galbraith</name>
<email>efault@gmx.de</email>
</author>
<published>2009-07-03T13:44:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7525730b032f70beb9667c29671a2313f6251925'/>
<id>7525730b032f70beb9667c29671a2313f6251925</id>
<content type='text'>
On Sat, 2007-10-27 at 11:44 +0200, Ingo Molnar wrote:
&gt; * Nick Piggin &lt;nickpiggin@yahoo.com.au&gt; wrote:
&gt;
&gt; &gt; &gt; [10138.175796]  [&lt;c0105de3&gt;] show_trace+0x12/0x14
&gt; &gt; &gt; [10138.180291]  [&lt;c0105dfb&gt;] dump_stack+0x16/0x18
&gt; &gt; &gt; [10138.184769]  [&lt;c011609f&gt;] native_smp_call_function_mask+0x138/0x13d
&gt; &gt; &gt; [10138.191117]  [&lt;c0117606&gt;] smp_call_function+0x1e/0x24
&gt; &gt; &gt; [10138.196210]  [&lt;c012f85c&gt;] on_each_cpu+0x25/0x50
&gt; &gt; &gt; [10138.200807]  [&lt;c0115c74&gt;] flush_tlb_all+0x1e/0x20
&gt; &gt; &gt; [10138.205553]  [&lt;c016caaf&gt;] kmap_high+0x1b6/0x417
&gt; &gt; &gt; [10138.210118]  [&lt;c011ec88&gt;] kmap+0x4d/0x4f
&gt; &gt; &gt; [10138.214102]  [&lt;c026a9d8&gt;] ntfs_end_buffer_async_read+0x228/0x2f9
&gt; &gt; &gt; [10138.220163]  [&lt;c01a0e9e&gt;] end_bio_bh_io_sync+0x26/0x3f
&gt; &gt; &gt; [10138.225352]  [&lt;c01a2b09&gt;] bio_endio+0x42/0x6d
&gt; &gt; &gt; [10138.229769]  [&lt;c02c2a08&gt;] __end_that_request_first+0x115/0x4ac
&gt; &gt; &gt; [10138.235682]  [&lt;c02c2da7&gt;] end_that_request_chunk+0x8/0xa
&gt; &gt; &gt; [10138.241052]  [&lt;c0365943&gt;] ide_end_request+0x55/0x10a
&gt; &gt; &gt; [10138.246058]  [&lt;c036dae3&gt;] ide_dma_intr+0x6f/0xac
&gt; &gt; &gt; [10138.250727]  [&lt;c0366d83&gt;] ide_intr+0x93/0x1e0
&gt; &gt; &gt; [10138.255125]  [&lt;c015afb4&gt;] handle_IRQ_event+0x5c/0xc9
&gt; &gt;
&gt; &gt; Looks like ntfs is kmap()ing from interrupt context. Should be using
&gt; &gt; kmap_atomic instead, I think.
&gt;
&gt; it's not atomic interrupt context but irq thread context - and -rt
&gt; remaps kmap_atomic() to kmap() internally.

Hm.  Looking at the change to mm/bounce.c, perhaps I should do this
instead?

Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On Sat, 2007-10-27 at 11:44 +0200, Ingo Molnar wrote:
&gt; * Nick Piggin &lt;nickpiggin@yahoo.com.au&gt; wrote:
&gt;
&gt; &gt; &gt; [10138.175796]  [&lt;c0105de3&gt;] show_trace+0x12/0x14
&gt; &gt; &gt; [10138.180291]  [&lt;c0105dfb&gt;] dump_stack+0x16/0x18
&gt; &gt; &gt; [10138.184769]  [&lt;c011609f&gt;] native_smp_call_function_mask+0x138/0x13d
&gt; &gt; &gt; [10138.191117]  [&lt;c0117606&gt;] smp_call_function+0x1e/0x24
&gt; &gt; &gt; [10138.196210]  [&lt;c012f85c&gt;] on_each_cpu+0x25/0x50
&gt; &gt; &gt; [10138.200807]  [&lt;c0115c74&gt;] flush_tlb_all+0x1e/0x20
&gt; &gt; &gt; [10138.205553]  [&lt;c016caaf&gt;] kmap_high+0x1b6/0x417
&gt; &gt; &gt; [10138.210118]  [&lt;c011ec88&gt;] kmap+0x4d/0x4f
&gt; &gt; &gt; [10138.214102]  [&lt;c026a9d8&gt;] ntfs_end_buffer_async_read+0x228/0x2f9
&gt; &gt; &gt; [10138.220163]  [&lt;c01a0e9e&gt;] end_bio_bh_io_sync+0x26/0x3f
&gt; &gt; &gt; [10138.225352]  [&lt;c01a2b09&gt;] bio_endio+0x42/0x6d
&gt; &gt; &gt; [10138.229769]  [&lt;c02c2a08&gt;] __end_that_request_first+0x115/0x4ac
&gt; &gt; &gt; [10138.235682]  [&lt;c02c2da7&gt;] end_that_request_chunk+0x8/0xa
&gt; &gt; &gt; [10138.241052]  [&lt;c0365943&gt;] ide_end_request+0x55/0x10a
&gt; &gt; &gt; [10138.246058]  [&lt;c036dae3&gt;] ide_dma_intr+0x6f/0xac
&gt; &gt; &gt; [10138.250727]  [&lt;c0366d83&gt;] ide_intr+0x93/0x1e0
&gt; &gt; &gt; [10138.255125]  [&lt;c015afb4&gt;] handle_IRQ_event+0x5c/0xc9
&gt; &gt;
&gt; &gt; Looks like ntfs is kmap()ing from interrupt context. Should be using
&gt; &gt; kmap_atomic instead, I think.
&gt;
&gt; it's not atomic interrupt context but irq thread context - and -rt
&gt; remaps kmap_atomic() to kmap() internally.

Hm.  Looking at the change to mm/bounce.c, perhaps I should do this
instead?

Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>fs-block-rt-support.patch</title>
<updated>2012-04-10T21:37:24+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2011-06-14T15:05:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d990de43c738e3a4a83d5ce0470b4d7e2f332ab6'/>
<id>d990de43c738e3a4a83d5ce0470b4d7e2f332ab6</id>
<content type='text'>
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mm-protect-activate-switch-mm.patch</title>
<updated>2012-04-10T21:37:24+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2011-07-04T07:48:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=1e4db27b36529ec1f3bf7b329117b7384144ef16'/>
<id>1e4db27b36529ec1f3bf7b329117b7384144ef16</id>
<content type='text'>
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fs: namespace preemption fix</title>
<updated>2012-04-10T21:37:23+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2009-07-19T13:44:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=edd90bfa8f27666fd745c6f8ffd2bb41e828b31f'/>
<id>edd90bfa8f27666fd745c6f8ffd2bb41e828b31f</id>
<content type='text'>
On RT we cannot loop with preemption disabled here as
mnt_make_readonly() might have been preempted. We can safely enable
preemption while waiting for MNT_WRITE_HOLD to be cleared. Safe on !RT
as well.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On RT we cannot loop with preemption disabled here as
mnt_make_readonly() might have been preempted. We can safely enable
preemption while waiting for MNT_WRITE_HOLD to be cleared. Safe on !RT
as well.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>timer-fd: Prevent live lock</title>
<updated>2012-04-10T21:37:02+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2012-01-25T10:08:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=901562c04b983c3f3e89a6ee865eee06a666ed3e'/>
<id>901562c04b983c3f3e89a6ee865eee06a666ed3e</id>
<content type='text'>
If hrtimer_try_to_cancel() requires a retry, then depending on the
priority setting te retry loop might prevent timer callback completion
on RT. Prevent that by waiting for completion on RT, no change for a
non RT kernel.

Reported-by: Sankara Muthukrishnan &lt;sankara.m@gmail.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: stable-rt@vger.kernel.org
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If hrtimer_try_to_cancel() requires a retry, then depending on the
priority setting te retry loop might prevent timer callback completion
on RT. Prevent that by waiting for completion on RT, no change for a
non RT kernel.

Reported-by: Sankara Muthukrishnan &lt;sankara.m@gmail.com&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: stable-rt@vger.kernel.org
</pre>
</div>
</content>
</entry>
</feed>
