Changelog for uml-patch-2.4.26-3.bz2
This release is made up of the following patches:
Release Date : Aug 12 2004
Released By : jdike
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.
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.
From Jim Pick - Fix a one byte buffer overflow in the umid allocation.
From the Trivial Patch Monkey - eliminate a couple of redundant includes.
Add CONFIG_NR_CPUS conditional on CONFIG_SMP. This fixes the SMP build.
This reverts part of the move-user-code patch. generic_console_write
somehow behaves differently when inside chan_kern.c, causing UML to
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.
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.
This makes a couple of functions in mconsole static because they are not
referenced from outside.
ifdef out log() for a rainy day. Also explain to the mystified what it
This patch copies a bunch of cleanups that I made in the process of porting
externfs, hostfs, and humfs to 2.6.
Devices are split into major and minor numbers in the lower-level code, and
put back together in externfs just before vfs sees them. This is necessary
because the host may have a different idea of how a dev_t is organized than
UML does. ubd_user is included here because it uses the uml_stat struct,
and was affected by this change.
inode.u.hostfs_i is no longer used. Instead, a pointer to the externfs
data is hung off inode.u.generic_ip. This data is contained inside the
lower-level data in the 2.6 way, and the lower level module used container-of
to get its own data.
Names were all changed to make sense and to eliminate functions with the
same names in different files. So, externfs names contain "externfs"
rather than "hostfs", and hostfs and humfs names begin with "hostfs" and
void * data items are now gone.
externfs no longer knows anything about file handles. Those, if present,
are contained in the lower-level data.
Because of the 2.6 split between allocating inodes and initializing them,
when externfs makes a new inode, it calls both the init and open or create
routines in the underlying module.
This fixes a warning by moving new_mm from a userspace file, which can't
know anything about file handles because they have embedded list_heads, to
a kernelspace file, which can.
From "D. Bahi" @ enterasys.com - remove an unneeded line from the dynamic
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>
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>
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
Clean up the fork code, fixing a bogus return value, and adding some
This eliminates use of task.thread.kernel_stack. It was unnecessary, and
was masking a bunch of kernel stack size assumptions.