<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/um/kernel/skas, branch linux-2.6.18.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.18.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.18.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2006-07-10T20:24:24Z</updated>
<entry>
<title>[PATCH] uml: remove syscall debugging</title>
<updated>2006-07-10T20:24:24Z</updated>
<author>
<name>Jeff Dike</name>
</author>
<published>2006-07-10T11:45:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=469226a431f553a7b3ec17d87ce3c2d1c6c25fb2'/>
<id>urn:sha1:469226a431f553a7b3ec17d87ce3c2d1c6c25fb2</id>
<content type='text'>
Eliminate an unused debug option.

Signed-off-by: Jeff Dike &lt;jdike@addtoit.com&gt;
Cc: Paolo 'Blaisorblade' Giarrusso &lt;blaisorblade@yahoo.it&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] uml: signal initialization cleanup</title>
<updated>2006-07-10T20:24:23Z</updated>
<author>
<name>Jeff Dike</name>
</author>
<published>2006-07-10T11:45:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e64bd134085451fe3f751025c5d5a70729164b7c'/>
<id>urn:sha1:e64bd134085451fe3f751025c5d5a70729164b7c</id>
<content type='text'>
It turns out that init_new_thread_signals is always called with altstack == 1,
so we can eliminate the parameter.

Signed-off-by: Jeff Dike &lt;jdike@addtoit.com&gt;
Cc: Paolo 'Blaisorblade' Giarrusso &lt;blaisorblade@yahoo.it&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] uml: fix static binary segfault</title>
<updated>2006-07-10T20:24:23Z</updated>
<author>
<name>Jeff Dike</name>
</author>
<published>2006-07-10T11:45:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=23bbd586ed7894982fd9323f63b2065afbb77773'/>
<id>urn:sha1:23bbd586ed7894982fd9323f63b2065afbb77773</id>
<content type='text'>
When UML is built as a static binary, it segfaults when run.  The reason is
that a memory hole that is present in dynamic binaries isn't there in static
binaries, and it contains essential stuff.

This fix removes the code which maps some anonymous memory into that hole and
cleans up some related code.

Signed-off-by: Jeff Dike &lt;jdike@addtoit.com&gt;
Cc: Paolo 'Blaisorblade' Giarrusso &lt;blaisorblade@yahoo.it&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] uml: clean up address space limits code</title>
<updated>2006-07-10T20:24:23Z</updated>
<author>
<name>Tyler</name>
</author>
<published>2006-07-10T11:45:03Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=598d188af1a0645dc75c9541eff0017a4f6d9987'/>
<id>urn:sha1:598d188af1a0645dc75c9541eff0017a4f6d9987</id>
<content type='text'>
I was looking at the code of the UML and more precisely at the functions
set_task_sizes_tt and set_task_sizes_skas.  I noticed that these 2 functions
take a paramater (arg) which is not used : the function is always called with
the value 0.

I suppose that this value might change in the future (or even can be
configured), so I added a constant in mem_user.h file.

Also, I rounded CONFIG_HOST_TASk_SIZE to a 4M.

Signed-off-by: Tyler &lt;tyler@agat.net&gt;
Signed-off-by: Jeff Dike &lt;jdike@addtoit.com&gt;
Cc: Paolo 'Blaisorblade' Giarrusso &lt;blaisorblade@yahoo.it&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] uml: make copy_*_user atomic</title>
<updated>2006-07-01T16:56:03Z</updated>
<author>
<name>Paolo 'Blaisorblade' Giarrusso</name>
</author>
<published>2006-07-01T11:36:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=47e5243afe0bd2a1aca1e1f05dfbcc214267fbc9'/>
<id>urn:sha1:47e5243afe0bd2a1aca1e1f05dfbcc214267fbc9</id>
<content type='text'>
Make __copy_*_user_inatomic really atomic to avoid "Sleeping function called in
atomic context" warnings, especially from futex code.

This is made by adding another kmap_atomic slot and making copy_*_user_skas
use kmap_atomic; also copy_*_user() becomes atomic, but that's true and is not
a problem for i386 (and we can always add might_sleep there as done
elsewhere).  For TT mode kmap is not used, so there's no need for this.

I've had to use another slot since both KM_USER0 and KM_USER1 are used
elsewhere and could cause conflicts.  Till now we reused the kmap_atomic slot
list from the subarch, but that's not needed as that list must contain the
common ones (used by generic code) + the ones used in architecture specific
code (and Uml till now used none); so I've taken the i386 one after comparing
it with ones from other archs, and added KM_UML_USERCOPY.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso &lt;blaisorblade@yahoo.it&gt;
Cc: Jeff Dike &lt;jdike@addtoit.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] zoned vm counters: conversion of nr_pagetables to per zone counter</title>
<updated>2006-06-30T18:25:35Z</updated>
<author>
<name>Christoph Lameter</name>
</author>
<published>2006-06-30T08:55:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=df849a1529c106f7460e51479ca78fe07b07dc8c'/>
<id>urn:sha1:df849a1529c106f7460e51479ca78fe07b07dc8c</id>
<content type='text'>
Conversion of nr_page_table_pages to a per zone counter

[akpm@osdl.org: bugfix]
Signed-off-by: Christoph Lameter &lt;clameter@sgi.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] uml: cleanup unprofile expression and build infrastructure</title>
<updated>2006-05-02T01:17:45Z</updated>
<author>
<name>Paolo 'Blaisorblade' Giarrusso</name>
</author>
<published>2006-05-01T19:16:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7b12b9137930eb821b68e1bfa11e9de692208620'/>
<id>urn:sha1:7b12b9137930eb821b68e1bfa11e9de692208620</id>
<content type='text'>
*) Rather than duplicate in various buggy ways the application of
   CFLAGS_NO_HARDENING and UNPROFILE (which apply to the same files),
   centralize it in Makefile.rules.  UNPROFILE_OBJS mustn't be listed in
   USER_OBJS but are compiled as such.

I've also verified that unprofile didn't work in the current form, because we
set _c_flags directly (using CFLAGS and not USER_CFLAGS, which is wrong),
which is normally used by c_flags, but we also override c_flags for all
USER_OBJS, and there we don't call unprofile.

Instead it only worked for unmap.o, the only one which wasn't a USER_OBJ.

We need to set c_flags (which is not a public Kbuild API) to clear a lot of
compilation flags like -nostdinc which Kbuild forces on everything.

*) Rather than $(CFLAGS_$(notdir $@)), which expands to CFLAGS_anObj.s when
   building "anObj.s", use $(CFLAGS_$(*F).o) which always accesses
   CFLAGS_anObj.o, like done by Kbuild.

*) Make c_flags apply to all targets having the same basename, rather than
   listing .s, .i, .lst and .o, with the use (which I tested) of

	$(USER_OBJS:.o=.%): c_flags = ...

and of

 -      $(obj)/unmap.c: _c_flags = ...
 +      $(obj)/unmap.%: _c_flags = ...

Signed-off-by: Paolo 'Blaisorblade' Giarrusso &lt;blaisorblade@yahoo.it&gt;
Acked-by: Jeff Dike &lt;jdike@addtoit.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] uml: fix compilation and execution with hardened GCC</title>
<updated>2006-05-02T01:17:45Z</updated>
<author>
<name>Paolo 'Blaisorblade' Giarrusso</name>
</author>
<published>2006-05-01T19:16:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=275e6e1ee2bafde77e9390b27e876fa83f24cb60'/>
<id>urn:sha1:275e6e1ee2bafde77e9390b27e876fa83f24cb60</id>
<content type='text'>
To make some half-assembly stubs compile, disable various "hardened" GCC
features:

*) we can't make it build PIC code as we need %ebx to do syscalls and GCC
   wants it free for PIC

*) we can't leave stack protection as the stub is moved (not relocated!) in
   memory so the RIP-relative access to the canary tries reading from an
   unmapped address and causes a segfault, since we move the stub of various
   megabytes (the exact amount will be decided at runtime) away from the
   link-time address.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso &lt;blaisorblade@yahoo.it&gt;
Acked-by: Jeff Dike &lt;jdike@addtoit.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] uml: add arch_switch_to for newly forked thread</title>
<updated>2006-03-31T20:18:52Z</updated>
<author>
<name>Paolo 'Blaisorblade' Giarrusso</name>
</author>
<published>2006-03-31T10:30:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=54d8d3b5a0ce1cdbad1d3154c9ea9732d394e9c7'/>
<id>urn:sha1:54d8d3b5a0ce1cdbad1d3154c9ea9732d394e9c7</id>
<content type='text'>
Newly forked threads have no arch_switch_to_skas() called before their first
run, because when schedule() switches to them they're resumed in the body of
thread_wait() inside fork_handler() rather than in switch_threads() in
switch_to_skas().  Compensate this missing call.

Signed-off-by: Paolo 'Blaisorblade' Giarrusso &lt;blaisorblade@yahoo.it&gt;
Acked-by: Jeff Dike &lt;jdike@addtoit.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] uml: implement {get,set}_thread_area for i386</title>
<updated>2006-03-31T20:18:52Z</updated>
<author>
<name>Paolo 'Blaisorblade' Giarrusso</name>
</author>
<published>2006-03-31T10:30:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=aa6758d4867cd07bd76105ade6177fe6148e559a'/>
<id>urn:sha1:aa6758d4867cd07bd76105ade6177fe6148e559a</id>
<content type='text'>
Implement sys_[gs]et_thread_area and the corresponding ptrace operations for
UML.  This is the main chunk, additional parts follow.  This implementation is
now well tested and has run reliably for some time, and we've understood all
the previously existing problems.

Their implementation saves the new GDT content and then forwards the call to
the host when appropriate, i.e.  immediately when the target process is
running or on context switch otherwise (i.e.  on fork and on ptrace() calls).

In SKAS mode, we must switch registers on each context switch (because SKAS
does not switches tls_array together with current-&gt;mm).

Also, added get_cpu() locking; this has been done for SKAS mode, since TT does
not need it (it does not use smp_processor_id()).

Signed-off-by: Paolo 'Blaisorblade' Giarrusso &lt;blaisorblade@yahoo.it&gt;
Acked-by: Jeff Dike &lt;jdike@addtoit.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
</feed>
