|
Changelog for uml-patch-2.6.7-2.bz2
Release Date : Aug 18 2004
Released By : jdike
This release is made up of the following patches:
-
no-target
linux is built if no target is specified on the command line.
Added an archhelp target.
-
makefile-fixes
Added a check for gcc supporting -fno-unit-at-a-time and tidied up some
whitespace in arch/um/Makefile.
Added -DUM_FASTCALL to Makefile-i386.
make clean descends into util in order to get rid of the binaries there.
-
remove_old_bh
From Coywolf Qi Hunt - remove some obsolete bh code.
-
reboot-signals
On reboot, all signals and signal sources are disabled so that late-arriving
signals don't show up after the reboot exec, confusing the new image, which
is not expecting signals.
-
wrap-malloc
__wrap_malloc now chooses between kmalloc and vmalloc based on the size of
the allocation. PAGE_SIZE or smaller go to kmalloc, anything larger goes
to vmalloc.
__wrap_free is now careful about freeing to the same allocator that allocated
the buffer.
-
remove-user-code
Merge some generic code into kernel file from userspace files. This allows
hostaudio_user.c to disappear.
-
unused-header
Remove an unused header.
-
time
Changed the real-time clock to use gettimeofday rather than rdtsc.
Some code tidying and removal of the rdtsc code.
Removed the host /proc/cpuinfo parsing.
-
copy_user
The cmov check now uses copy_from_user instead of grabbing the instruction
directly.
Added a reminder to add copy_user stuff to modify_ldt.
-
aio
Add basic AIO support without adding any users of it yet.
-
filehandle
This introduces the filehandle abstraction, which provides a centralized
facility for managing file descriptors. This is needed because descriptors
are a scarce resource, especially when host-based filesystems are used within
UML. A find, kernel build, or updatedb will easily consume the available
descriptors. Unrelated, and non-piggy parts of UML, such as process
creation, will then start failing.
This alleviates the problem by allowing file descriptors to be reclaimed
when the limit is reached. Host resources which will persist when
descriptors to them are closed, such as non-deleted files, will have their
file handles marked reclaimable, and will provide the information needed
to reopen the file if it becomes active again.
Also, some names in hostfs are changed temporarily to avoid name clashes.
-
filehandle_switch
This patch makes tt mode use filehandles for the pipes it uses for context
switching. This protects process creation against failing when there are
no free file descriptors.
-
random
This is a large set of small fixes and other changes:
unsigned long -> __u32 conversions in the cow header to protect against
64-bit problems
Cleanup and simplification of the mconsole interrupt handler.
Fixing of a bug with mconsole log.
Moving the sysrq reply to before the actual sysrq so that a reboot request
will be replied to.
Added ethtool support to the network drivers.
Fixed a file descriptor leak in the network driver when changing an IP
address.
The port channel now sets SO_REUSEADDR.
Added some initcall and exitcall definitions to arch/um/include/init.h
so that they can be used from userspace code.
Fixed the error handling in run_helper.
Added some symbols to ksyms.c.
Added the log() facility to mem_user.c.
Fixed a problem with recursive segfaults not being handled correctly.
Added a bunch of missing jmpbuf -> sigjmp_buf changes.
Added a reminder to fix a kernel stack size assumption.
Made sigio_interrupt static.
Added some EINTR protection to the sigio initialization code.
tty_log_fd and umid aren't added to the command line any more.
Bumped the physical memory of exec-shield users so they don't lose the
hole in their address space.
A panic now produces a stack trace and sets the exit status to 1.
Fixed some prints.
The timer is now enabled after it is initialized.
sig_handler_common_skas saves and restores is_user properly.
The process status printing code was cleaned up.
Bumped HZ to 100.
Removed the __cmpxchg implementation.
Removed a bogus declaration from asm/bug.h.
-
physmem_mmap
This patch merges some physmem mapping changes. This stuff is all going
away, but it's here to keep the two trees in sync.
-
uaccess
This patch protects the copy_user code from kernel space faults.
-
externfs
This adds the externfs facility without any users. It allows host resources
to be plugged in and mounted as Linux filesystems. It takes care of
interacting with the kernel, leaving the userspace modules to interact
with whatever host resources they import.
-
hostfs
This adds hostfs as an externfs plug-in. This is heavily reworked
from the existing hostfs to split it apart with the externfs interface
between the pieces, and to change filenames.
*** This now compiles and works somewhat - mount and ls work, you're taking
your chances on anything else ***
-
signals
This patch changes UML's internal signal handling so that it is not dependent
on the host delivering signals in a particular order, i.e. in numeric order.
This was prompted by 2.6 changes which involve signals being queued onto
two queues, a process queue and a task queue. Signals are picked off one,
and then off the other, and when there are signals on both, they may be
delivered in the opposite order that they were on 2.4 hosts. There was
an implicit assumption in UML that SIGUSR1 would be delivered before anything
else, which was true for a while because its signal number is lower than any
of the others that it cares about.
-
humfs
This is humfs, a host-based filesystem which maintains its own metadata
separate from the host files. This enables it to be independent of the
host's permissions, and, for example, create root-owned files. This plugs
into the externfs interface.
Included is one metadata format, meta_fs, which stores metadata in a pair
of file hierarchies which parallel the data hierarchy.
*** Like hostfs, this sort of works, but is easy to crash right now ***
-
iomem
This fixes a bug spotted by the iomem tester in the test suite. mmapper
returns -EFAULT if the mmap length is greater than the iomem region size.
If that size is less than one page, then mmap can never succeed because
the minimum map length is one page. This fixes that by rounding the iomem
file size up to the nearest page.
-
wrap_free
Fixed a couple of fencepost errors noticed by Blaisorblade. The end of
range tests should be < rather than <=. Also reworded the comment to
make it less misleading.
-
umid-overrun
From Jim Pick - Fix a one byte buffer overflow in the umid allocation.
-
move_console_write
This reverts part of the move-user-code patch. generic_console_write
somehow behaves differently when inside chan_kern.c, causing UML to
hang.
-
time-warp
Protect against the host clock moving backwards. If delta goes negative,
UML will see a very large number of ticks that need delivering. If that
happens, this just sets delta to zero to minimize the damage.
-
load-low
This makes UML load at 0x8048000 rather than 0xa0000000 when
CONFIG_MODE_SKAS is on and CONFIG_MODE_TT is off. This will make it
more valgrind-friendly, and also allow much greater physical memory
sizes without needing to use highmem.
-
make-static
This makes a couple of functions in mconsole static because they are not
referenced from outside.
-
defconfig
-
link
From "D. Bahi" @ enterasys.com - remove an unneeded line from the dynamic
linker script.
-
catch-eintr
On various places (mostly waitpid() calls) this patch makes sure
that if errno == EINTR on return, then the syscall is endlessly retried.
It also defines a simple generic way to do this.
Signed-off-by: <blaisorblade_spam at yahoo.it>
-
bb-raw
Fixes raw() and uses it in check_one_sigio; also fixes a silly panic
(EINTR returned by call).
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade_spam at yahoo.it>
-
clean-raw
This patch cleans up the uses of raw since I was playing with that code
anyway. All uses of raw and the associated uses of tcgetattr have their
return values checked.
raw now prints an error is something went wrong instead of relying on a
flag passed in from the caller.
The now argument was dropped, and all callers get TCSADRAIN rather than
possibly TCSANOW.
-
fork-error
Clean up the fork code, fixing a bogus return value, and adding some
whitespace
-
kernel-stack
This eliminates use of task.thread.kernel_stack. It was unnecessary, and
was masking a bunch of kernel stack size assumptions.
-
bb-oom
That code comes from the out_of_memory section; in 2.4 it was correct
to put it for "default:", since it was called when handle_mm_fault()
return value was != 0, 1, 2, i.e. it was 3, OOM (but the i386
code put it out of line, for better performance).
Here, instead, the OOM case is handled on its own, so if handle_mm_fault() !=
from the listed cases we must BUG().
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade_spam at yahoo.it>
-
bb-pty
The second adds the LEGACY_PTY config option. Without it, with late 2.6
kernels /dev/ptyxx won't work. In fact, with those kernels, root_fs_toms does
not work, because it's "unable to allocate TTY pair". And removes the dead
option UNIX98_PTY_COUNT" (just commented out for now).
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade_spam at yahoo.it>
jdike - Removed the commented-out option and added defconfig to the patch
-
tkill
Eliminates the use of syscall(__NR_tkill, ...) because this is no longer
necessary given the signal handling fixes in an earlier patch.
-
version
|