Site Home Page
The UML Wiki
UML Community Site
The UML roadmap
What it's good for
Case Studies
Kernel Capabilities
Downloading it
Running it
Skas Mode
Incremental Patches
Test Suite
Host memory use
Building filesystems
User Contributions
Related Links
The HOWTO (html)
The HOWTO (text)
Host file access
Device inputs
Sharing filesystems
Creating filesystems
Resizing filesystems
Virtual Networking
Management Console
Kernel Debugging
UML Honeypots
gprof and gcov
Running X
Diagnosing problems
Installing Slackware
Porting UML
IO memory emulation
UML on 2G/2G hosts
Adding a UML system call
Running nested UMLs
How you can help
Kernel projects
A virtual network
An X session
A login session
A debugging session
Slackware installation
Kernel switches
Slackware README
ALS 2000 paper (html)
ALS 2000 paper (TeX)
ALS 2000 slides
LCA 2001 slides
OLS 2001 paper (html)
OLS 2001 paper (TeX)
ALS 2001 paper (html)
ALS 2001 paper (TeX)
UML security (html)
LCA 2002 (html)
WVU 2002 (html)
Security Roundtable (html)
OLS 2002 slides
LWE 2005 slides
Fun and Games
Kernel Hangman
Disaster of the Month

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" @ - 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>
  • 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>
  • 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>
  • 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> 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
Hosted at SourceForge Logo