<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-stable.git/arch/um, branch v3.16</title>
<subtitle>Linux kernel stable tree</subtitle>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/'/>
<entry>
<title>um: segv: Save regs only in case of a kernel mode fault</title>
<updated>2014-07-20T11:39:27+00:00</updated>
<author>
<name>Richard Weinberger</name>
<email>richard@nod.at</email>
</author>
<published>2014-07-20T11:39:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=bb6a1b2e189f797c0e4a116aec7ce77c344f11e0'/>
<id>bb6a1b2e189f797c0e4a116aec7ce77c344f11e0</id>
<content type='text'>
...otherwise me lose user mode regs and the resulting
stack trace is useless.

Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
...otherwise me lose user mode regs and the resulting
stack trace is useless.

Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>um: Fix hung task in fix_range_common()</title>
<updated>2014-07-20T11:16:20+00:00</updated>
<author>
<name>Richard Weinberger</name>
<email>richard@nod.at</email>
</author>
<published>2014-07-20T11:16:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=468f65976a8d065ee1f27782337f4ee85a9151c5'/>
<id>468f65976a8d065ee1f27782337f4ee85a9151c5</id>
<content type='text'>
If do_ops() fails we have to release current-&gt;mm-&gt;mmap_sem
otherwise the failing task will never terminate.

Reported-by: Toralf Förster &lt;toralf.foerster@gmx.de&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If do_ops() fails we have to release current-&gt;mm-&gt;mmap_sem
otherwise the failing task will never terminate.

Reported-by: Toralf Förster &lt;toralf.foerster@gmx.de&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>um: Ensure that a stub page cannot get unmapped</title>
<updated>2014-07-20T11:09:15+00:00</updated>
<author>
<name>Richard Weinberger</name>
<email>richard@nod.at</email>
</author>
<published>2014-07-20T11:09:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=284e6d39516cc7f9fbceebb259849fcb41559a7b'/>
<id>284e6d39516cc7f9fbceebb259849fcb41559a7b</id>
<content type='text'>
Trinity discovered an execution path such that a task
can unmap his stub page.

Reported-by: Toralf Förster &lt;toralf.foerster@gmx.de&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Trinity discovered an execution path such that a task
can unmap his stub page.

Reported-by: Toralf Förster &lt;toralf.foerster@gmx.de&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "um: Fix wait_stub_done() error handling"</title>
<updated>2014-07-20T10:56:34+00:00</updated>
<author>
<name>Richard Weinberger</name>
<email>richard@nod.at</email>
</author>
<published>2014-07-20T10:56:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=ae5db6d12341684913a78b6537c0b9c22c999b5c'/>
<id>ae5db6d12341684913a78b6537c0b9c22c999b5c</id>
<content type='text'>
This reverts commit 0974a9cadc7886f7baaa458bb0c89f5c5f9d458e.
The real for for that issue is to release current-&gt;mm-&gt;mmap_sem in
fix_range_common().

Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 0974a9cadc7886f7baaa458bb0c89f5c5f9d458e.
The real for for that issue is to release current-&gt;mm-&gt;mmap_sem in
fix_range_common().

Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild</title>
<updated>2014-06-13T04:23:38+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-06-13T04:23:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=1700ff823b27b6572cf4c3cec66d279baa1a5d30'/>
<id>1700ff823b27b6572cf4c3cec66d279baa1a5d30</id>
<content type='text'>
Pull kbuild updates from Michal Marek:
 "Kbuild changes for v3.16-rc1:

   - cross-compilation fix so that cc-option is testing the right
     compiler
   - Fix for make defconfig all
   - Using relative paths to the object and source directory where
     possible, plus fixes for the fallout of the change
   - several cleanups in the Makefiles and scripts

  The powerpc fix is from today, because it was only discovered
  recently.  The rest has been in linux-next for some time"

* 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
  powerpc: Avoid circular dependency with zImage.%
  kbuild: create include/config directory in scripts/kconfig/Makefile
  kbuild: do not create include/linux directory
  Makefile: Fix unrecognized cross-compiler command line options
  kbuild: do not add "selinux" to subdir- twice
  um: Fix for relative objtree when generating x86 headers
  kbuild: Use relative path when building in a subdir of the source tree
  kbuild: Use relative path when building in the source tree
  kbuild: Use relative path for $(objtree)
  firmware: Use $(quote) in the Makefile
  firmware: Simplify directory creation
  kbuild: trivial - fix comment block indent
  kbuild: trivial - remove trailing spaces
  kbuild: support simultaneous "make %config" and "make all"
  kbuild: move extra gcc checks to scripts/Makefile.extrawarn
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Pull kbuild updates from Michal Marek:
 "Kbuild changes for v3.16-rc1:

   - cross-compilation fix so that cc-option is testing the right
     compiler
   - Fix for make defconfig all
   - Using relative paths to the object and source directory where
     possible, plus fixes for the fallout of the change
   - several cleanups in the Makefiles and scripts

  The powerpc fix is from today, because it was only discovered
  recently.  The rest has been in linux-next for some time"

* 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
  powerpc: Avoid circular dependency with zImage.%
  kbuild: create include/config directory in scripts/kconfig/Makefile
  kbuild: do not create include/linux directory
  Makefile: Fix unrecognized cross-compiler command line options
  kbuild: do not add "selinux" to subdir- twice
  um: Fix for relative objtree when generating x86 headers
  kbuild: Use relative path when building in a subdir of the source tree
  kbuild: Use relative path when building in the source tree
  kbuild: Use relative path for $(objtree)
  firmware: Use $(quote) in the Makefile
  firmware: Simplify directory creation
  kbuild: trivial - fix comment block indent
  kbuild: trivial - remove trailing spaces
  kbuild: support simultaneous "make %config" and "make all"
  kbuild: move extra gcc checks to scripts/Makefile.extrawarn
</pre>
</div>
</content>
</entry>
<entry>
<title>um: Fix for relative objtree when generating x86 headers</title>
<updated>2014-06-05T15:55:48+00:00</updated>
<author>
<name>Michal Marek</name>
<email>mmarek@suse.cz</email>
</author>
<published>2014-06-05T15:44:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=d4bc590f8716f7dde6b7bca319097ac30a8cb0b4'/>
<id>d4bc590f8716f7dde6b7bca319097ac30a8cb0b4</id>
<content type='text'>
In an O= build, rely on the generated Makefile to call the main Makefile
properly. When building in the source tree, we do not need to specify
the -C and O= either. This fixes the problem when $(objtree) is a
relative path and the -C changes the directory.

Reported-by: Richard Weinberger &lt;richard.weinberger@gmail.com&gt;
Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In an O= build, rely on the generated Makefile to call the main Makefile
properly. When building in the source tree, we do not need to specify
the -C and O= either. This fixes the problem when $(objtree) is a
relative path and the -C changes the directory.

Reported-by: Richard Weinberger &lt;richard.weinberger@gmail.com&gt;
Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mm: split 'tlb_flush_mmu()' into tlb flushing and memory freeing parts</title>
<updated>2014-04-25T23:05:40+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2014-04-25T23:05:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=1cf35d47712dd5dc4d62c6ce984f04ac6eab0408'/>
<id>1cf35d47712dd5dc4d62c6ce984f04ac6eab0408</id>
<content type='text'>
The mmu-gather operation 'tlb_flush_mmu()' has done two things: the
actual tlb flush operation, and the batched freeing of the pages that
the TLB entries pointed at.

This splits the operation into separate phases, so that the forced
batched flushing done by zap_pte_range() can now do the actual TLB flush
while still holding the page table lock, but delay the batched freeing
of all the pages to after the lock has been dropped.

This in turn allows us to avoid a race condition between
set_page_dirty() (as called by zap_pte_range() when it finds a dirty
shared memory pte) and page_mkclean(): because we now flush all the
dirty page data from the TLB's while holding the pte lock,
page_mkclean() will be held up walking the (recently cleaned) page
tables until after the TLB entries have been flushed from all CPU's.

Reported-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Tested-by: Dave Hansen &lt;dave.hansen@intel.com&gt;
Acked-by: Hugh Dickins &lt;hughd@google.com&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Russell King - ARM Linux &lt;linux@arm.linux.org.uk&gt;
Cc: Tony Luck &lt;tony.luck@intel.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The mmu-gather operation 'tlb_flush_mmu()' has done two things: the
actual tlb flush operation, and the batched freeing of the pages that
the TLB entries pointed at.

This splits the operation into separate phases, so that the forced
batched flushing done by zap_pte_range() can now do the actual TLB flush
while still holding the page table lock, but delay the batched freeing
of all the pages to after the lock has been dropped.

This in turn allows us to avoid a race condition between
set_page_dirty() (as called by zap_pte_range() when it finds a dirty
shared memory pte) and page_mkclean(): because we now flush all the
dirty page data from the TLB's while holding the pte lock,
page_mkclean() will be held up walking the (recently cleaned) page
tables until after the TLB entries have been flushed from all CPU's.

Reported-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Tested-by: Dave Hansen &lt;dave.hansen@intel.com&gt;
Acked-by: Hugh Dickins &lt;hughd@google.com&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Russell King - ARM Linux &lt;linux@arm.linux.org.uk&gt;
Cc: Tony Luck &lt;tony.luck@intel.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>um: Memory corruption on startup</title>
<updated>2014-04-20T21:57:21+00:00</updated>
<author>
<name>Anton Ivanov</name>
<email>antivano@cisco.com</email>
</author>
<published>2014-03-07T18:37:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=0565103d1adbd765ca45248d04c327c076dd1571'/>
<id>0565103d1adbd765ca45248d04c327c076dd1571</id>
<content type='text'>
The reverse case of this race (you must msync before read) is
well known. This is the not so common one.

It can be triggered only on systems which do a lot of task
switching and only at UML startup. If you are starting 200+ UMLs
~ 0.5% will always die without this fix.

Signed-off-by: Anton Ivanov &lt;antivano@cisco.com&gt;
[rw: minor whitespace fixes]
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The reverse case of this race (you must msync before read) is
well known. This is the not so common one.

It can be triggered only on systems which do a lot of task
switching and only at UML startup. If you are starting 200+ UMLs
~ 0.5% will always die without this fix.

Signed-off-by: Anton Ivanov &lt;antivano@cisco.com&gt;
[rw: minor whitespace fixes]
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>um: Missing pipe handling</title>
<updated>2014-04-20T21:13:30+00:00</updated>
<author>
<name>Anton Ivanov</name>
<email>antivano@cisco.com</email>
</author>
<published>2014-03-07T18:37:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=9fcb663be42e4727c1beabc7c80e2d839199e6b1'/>
<id>9fcb663be42e4727c1beabc7c80e2d839199e6b1</id>
<content type='text'>
UML does not handle sigpipe. As a result when running it under
expect or redirecting the IO from the console to an external program
it will crash if the program stops or exits.

Signed-off-by: Anton Ivanov &lt;antivano@cisco.com&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
UML does not handle sigpipe. As a result when running it under
expect or redirecting the IO from the console to an external program
it will crash if the program stops or exits.

Signed-off-by: Anton Ivanov &lt;antivano@cisco.com&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>uml: Simplify tempdir logic.</title>
<updated>2014-04-20T21:10:44+00:00</updated>
<author>
<name>Tristan Schmelcher</name>
<email>tschmelcher@google.com</email>
</author>
<published>2013-11-11T18:03:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.tavy.me/linux-stable.git/commit/?id=0d71832e3004a0833938cc28a096823cd55b8e79'/>
<id>0d71832e3004a0833938cc28a096823cd55b8e79</id>
<content type='text'>
Inferring the mount hierarchy correctly from /proc/mounts is hard when MS_MOVE
may have been used, and the previous code did it wrongly. This change simplifies
the logic to only require that /dev/shm be _on_ tmpfs (which can be checked
trivially with statfs) rather than that it be a _mountpoint_ of tmpfs, since
there isn't a compelling reason to be that strict. We also now check for tmpfs
on whatever directory we ultimately use so that the user is better informed.

This change also moves the more standard TMPDIR environment variable check ahead
of the others.

Applies to 3.12.

Signed-off-by: Tristan Schmelcher &lt;tschmelcher@google.com&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Inferring the mount hierarchy correctly from /proc/mounts is hard when MS_MOVE
may have been used, and the previous code did it wrongly. This change simplifies
the logic to only require that /dev/shm be _on_ tmpfs (which can be checked
trivially with statfs) rather than that it be a _mountpoint_ of tmpfs, since
there isn't a compelling reason to be that strict. We also now check for tmpfs
on whatever directory we ultimately use so that the user is better informed.

This change also moves the more standard TMPDIR environment variable check ahead
of the others.

Applies to 3.12.

Signed-off-by: Tristan Schmelcher &lt;tschmelcher@google.com&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</pre>
</div>
</content>
</entry>
</feed>
