You can subscribe to this list here.
1999 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(8) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2000 |
Jan
(19) |
Feb
(11) |
Mar
(56) |
Apr
(31) |
May
(37) |
Jun
(21) |
Jul
(30) |
Aug
(31) |
Sep
(25) |
Oct
(60) |
Nov
(28) |
Dec
(57) |
2001 |
Jan
(47) |
Feb
(119) |
Mar
(279) |
Apr
(198) |
May
(336) |
Jun
(201) |
Jul
(136) |
Aug
(123) |
Sep
(123) |
Oct
(185) |
Nov
(66) |
Dec
(97) |
2002 |
Jan
(318) |
Feb
(101) |
Mar
(167) |
Apr
(233) |
May
(249) |
Jun
(134) |
Jul
(195) |
Aug
(99) |
Sep
(278) |
Oct
(435) |
Nov
(326) |
Dec
(325) |
2003 |
Jan
(214) |
Feb
(309) |
Mar
(142) |
Apr
(141) |
May
(210) |
Jun
(86) |
Jul
(133) |
Aug
(218) |
Sep
(315) |
Oct
(152) |
Nov
(162) |
Dec
(288) |
2004 |
Jan
(277) |
Feb
(267) |
Mar
(182) |
Apr
(168) |
May
(254) |
Jun
(131) |
Jul
(168) |
Aug
(177) |
Sep
(262) |
Oct
(309) |
Nov
(262) |
Dec
(255) |
2005 |
Jan
(258) |
Feb
(169) |
Mar
(282) |
Apr
(208) |
May
(262) |
Jun
(187) |
Jul
(207) |
Aug
(171) |
Sep
(283) |
Oct
(216) |
Nov
(307) |
Dec
(107) |
2006 |
Jan
(207) |
Feb
(82) |
Mar
(192) |
Apr
(165) |
May
(121) |
Jun
(108) |
Jul
(120) |
Aug
(126) |
Sep
(101) |
Oct
(216) |
Nov
(95) |
Dec
(125) |
2007 |
Jan
(176) |
Feb
(117) |
Mar
(240) |
Apr
(120) |
May
(81) |
Jun
(82) |
Jul
(62) |
Aug
(120) |
Sep
(103) |
Oct
(109) |
Nov
(181) |
Dec
(87) |
2008 |
Jan
(145) |
Feb
(69) |
Mar
(31) |
Apr
(98) |
May
(91) |
Jun
(43) |
Jul
(68) |
Aug
(135) |
Sep
(48) |
Oct
(18) |
Nov
(29) |
Dec
(16) |
2009 |
Jan
(26) |
Feb
(15) |
Mar
(83) |
Apr
(39) |
May
(23) |
Jun
(35) |
Jul
(11) |
Aug
(3) |
Sep
(11) |
Oct
(2) |
Nov
(28) |
Dec
(8) |
2010 |
Jan
(4) |
Feb
(40) |
Mar
(4) |
Apr
(46) |
May
(35) |
Jun
(46) |
Jul
(10) |
Aug
(4) |
Sep
(50) |
Oct
(70) |
Nov
(31) |
Dec
(24) |
2011 |
Jan
(17) |
Feb
(8) |
Mar
(35) |
Apr
(50) |
May
(75) |
Jun
(55) |
Jul
(72) |
Aug
(272) |
Sep
(10) |
Oct
(9) |
Nov
(11) |
Dec
(15) |
2012 |
Jan
(36) |
Feb
(49) |
Mar
(54) |
Apr
(47) |
May
(8) |
Jun
(82) |
Jul
(20) |
Aug
(50) |
Sep
(51) |
Oct
(20) |
Nov
(10) |
Dec
(25) |
2013 |
Jan
(34) |
Feb
(4) |
Mar
(24) |
Apr
(40) |
May
(101) |
Jun
(30) |
Jul
(55) |
Aug
(84) |
Sep
(53) |
Oct
(49) |
Nov
(61) |
Dec
(36) |
2014 |
Jan
(26) |
Feb
(22) |
Mar
(30) |
Apr
(4) |
May
(43) |
Jun
(33) |
Jul
(44) |
Aug
(61) |
Sep
(46) |
Oct
(154) |
Nov
(16) |
Dec
(12) |
2015 |
Jan
(18) |
Feb
(2) |
Mar
(122) |
Apr
(23) |
May
(56) |
Jun
(29) |
Jul
(35) |
Aug
(15) |
Sep
|
Oct
(45) |
Nov
(94) |
Dec
(38) |
2016 |
Jan
(50) |
Feb
(39) |
Mar
(39) |
Apr
(1) |
May
(14) |
Jun
(12) |
Jul
(19) |
Aug
(12) |
Sep
(9) |
Oct
(1) |
Nov
(13) |
Dec
(7) |
2017 |
Jan
(6) |
Feb
(1) |
Mar
(16) |
Apr
(5) |
May
(61) |
Jun
(18) |
Jul
(43) |
Aug
(1) |
Sep
(8) |
Oct
(25) |
Nov
(30) |
Dec
(6) |
2018 |
Jan
(5) |
Feb
(2) |
Mar
(25) |
Apr
(15) |
May
(2) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2019 |
Jan
|
Feb
(2) |
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Jeff D. <jd...@ka...> - 2000-06-17 17:35:17
|
The major change in this batch is that disk I/O is now asynchronous. There is now a separate thread which handles disk I/O and sends a SIGIO to the kernel whenever an operation has completed. I fixed a few bugs, including (I think, I haven't checked it yet) the one where the network freezes. The fhd device and its occupation of block major 62 are now history. So, if this kernel stops booting, this is probably why. Jeff |
From: Jeff D. <jd...@ka...> - 2000-06-15 02:01:34
|
I've made another batch of checkins. They include: the beginnings of the IA-64 port the userspace access macros now do access checking properly fixed a race early in the boot process caused by a SIGVTALRM hitting before the signal handler had been set up put some checks in sys_ptrace to make sure that kernel memory can't be accessed through ptrace And, as a bonus, I found a way to crash it that I don't know how to fix yet. So, if you've always wanted to panic a virtual machine but didn't know how, here's what you do: boot it up with an extra virtual console or two log in and run 'strace -f -p <pid>' with the pid of a getty running on a virtual console log in on that console you will probably get a nice kernel-mode fault This seems to be somewhat dependent on what strace finds in some random memory that it's looking at, but this is reliable for me... Jeff |
From: Jeff D. <jd...@ka...> - 2000-06-14 02:29:21
|
sa...@sk... said: > Each virtual linux process is actually a real linux cloned process > that runs under the host linux environment. When something > interesting happens (trap, fault, syscall, signal, etc...) the virtual > linux kernel takes over and fixes stuff. So far, so good. > Given this, it seems like UM Linux isn't using ptrace to actually do > memory reads and writes to the user process... so what could the > memory map of the mondo linux process look like? Are all linux > processes sharing a 3G process space of the UM-Linux kernel? You run into trouble here. If you do a ps in the host, you'll see a 'tracing thread' process. That thread is ptracing all of the other threads mostly to intercept their system calls. When one of the virtual processes does a system call, the tracing thread warps the process onto its (the process) kernel stack by ptrace(PTRACE_GETREGS, ...) to save the process state and ptrace(PTRACE_SETREGS, ...) to set its state to some previously saved state that puts it in syscall_handler which actually executes the system call. Since processes run their own system calls, kernel text and data is present in each address space. The memory map of a typical thread looks like: 0x8000000 - 0x80xxxxx : process text and data 0x10000000 - 0x10xxxxxx : kernel text and data 0x40000000 - 0x40xxxxxx : process shared libraries 0x50000000 - 0x5xxxxxxx : kernel "physical" and virtual memory 0xb7fxxxxx - 0xb8000000 : process stack 0xbffxxxxx - 0xc0000000 : original kernel stack (not used for much except storing the name you see with ps in the host) Every process gets its own address space. Kernel data is made shared with a nasty bit of code that you can find in remap_data() in um/arch/um/kernel/user_util.c. > I'm trying to change this a bit to be more seperated and use ptrace to > do reads and writes... You need to be more clear about what you're up to... get_user and friends are trivial since the address space contains both kernel and process data. They are essentially memcpy(). (Actually, I just finished making them a lot less trivial in order for them to detect bogus address correctly, but that's irrelevant here.) > The problem, however, is that the "UM User" processes and "UM Kernel" > processes can have data mapped into the same addresses... There is no such thing as a "kernel" process. Every process runs its own kernel code. Jeff |
From: Chris L. <sa...@sk...> - 2000-06-14 00:52:35
|
Hi there... I'm wondering how the get_user/put_user macros work in UM linux... Does the kernel share memory space with each of the "linux processes"? Here is my understanding of how this works: Each virtual linux process is actually a real linux cloned process that runs under the host linux environment. When something interesting happens (trap, fault, syscall, signal, etc...) the virtual linux kernel takes over and fixes stuff. Given this, it seems like UM Linux isn't using ptrace to actually do memory reads and writes to the user process... so what could the memory map of the mondo linux process look like? Are all linux processes sharing a 3G process space of the UM-Linux kernel? I'm trying to change this a bit to be more seperated and use ptrace to do reads and writes... but it seems that the "get_user" macro (f.e.) is allowed to read from either user or kernel space... and the address determines what we are looking at. The problem, however, is that the "UM User" processes and "UM Kernel" processes can have data mapped into the same addresses... thus there seems to be no easy way to ge tthis to work? -Chris |
From: Jeff D. <jd...@ka...> - 2000-06-05 17:18:21
|
I've checked in some more stuff: The ubd driver supports a new ioctl so it can look like a CD-ROM. It also now has the option of taking over a different major number. The console driver isn't so quick to panic if tcsetattr fails. Fixed a bug which was causing signals to be blocked when they should be enabled and vice-versa. Got rid of the input thread, which isn't needed now that input is totally signal-driven. Its remaining jobs are now handled by the tracing thread. Jeff |
From: Jeff D. <jd...@ka...> - 2000-06-03 13:26:03
|
The snippet of console output you show has devfs not being mounted. That is the error you get when devfs isn't mounted and you boot a filesystem with no /dev. So, either put 'devfs=mount' on the command line or reconfigure it with the 'devfs mounts by default' option. Jeff |
From: Chris L. <sa...@sk...> - 2000-06-03 10:57:28
|
Hey all, Does anyone have any experience playing with user-mode linux and a 2.4.0-test1 kernel? I applied the kernel patch and got everything to build (one chunk didn't go in correctly, but that wasn't a big deal)... but it seems that something has changed in the kernel design that is causing the console driver to not get registered... I'm getting: ... devfs: boot_options: 0x2 VFS: Mounted root (ext2 filesystem) readonly. Warning: unable to open an initial console. And then it hangs (thread blocking in select). I'm not familiar enough with the code to figure out how linux goes through the process of mapping a sys_open("/dev/console"...) to a fn call in the arch/um directory... Anyways, thanks for all the great work! Hopefully I'll be able to help out in a more meaningful way soon! -Chris |
From: Jeff D. <jd...@ka...> - 2000-05-30 03:36:44
|
2.3.99-pre9 is checked in. The one change I had to make was backing out a change in copy_mount_options in fs/super.c which relied on handling of user-mode induced kernel memory faults (i.e. a process passes a bogus address into a system call which causes a kernel-mode fault when it is dereferenced) which I don't yet do right. Jeff |
From: Jeff D. <jd...@ka...> - 2000-05-30 00:06:54
|
I decided to check in the irq stuff and a bunch of other things before doing -pre9. So, there is now a real irq system in there. include/asm-um/highmem.h is now there, not that it did anybody any good :-) I fixed the console stair-stepping. There is now a real fix for that hang that people were seeing last week. I fixed the missing errno problem in get_pty in arch/um/kernel/user_util.c. Jeff |
From: Lennert B. <bu...@gn...> - 2000-05-24 16:40:02
|
Yes, fixed it. Thanks. Lennert On Wed, 24 May 2000, Jeff Dike wrote: > I reproduced this problem on sourceforge. The kernel looks at its own maps > when it starts up because it needs to fiddle the shareability of its data and > to mark those parts of its address space off-limits for mmap. > > In arch/um/kernel/tlb.c, it reads its maps into a fixed-length array, and > panics if it find too many. For some reason, when you compile locally, you > get a different number of maps than when you use the precompiled binaries. > > For now, apply this patch: > --- arch/um/kernel/tlb.c~ Wed May 24 09:09:49 2000 > +++ arch/um/kernel/tlb.c Wed May 24 09:23:39 2000 > @@ -179,7 +179,7 @@ > > /* text, data, init_task, data, bss, physical memory in three chunks, > virtual memory area, stack */ > -static struct vm_area_struct process_vmas[10 * (NESTING + 1)]; > +static struct vm_area_struct process_vmas[20 * (NESTING + 1)]; > static int num_process_vmas = 0; > > void add_perm_vma(unsigned long start, unsigned long end, char rperm, > > I'll figure out a better way of doing this later. > > Jeff > > > > > _______________________________________________ > User-mode-linux-user mailing list > Use...@li... > http://lists.sourceforge.net/mailman/listinfo/user-mode-linux-user > |
From: Jeff D. <jd...@ka...> - 2000-05-24 16:31:28
|
I reproduced this problem on sourceforge. The kernel looks at its own maps when it starts up because it needs to fiddle the shareability of its data and to mark those parts of its address space off-limits for mmap. In arch/um/kernel/tlb.c, it reads its maps into a fixed-length array, and panics if it find too many. For some reason, when you compile locally, you get a different number of maps than when you use the precompiled binaries. For now, apply this patch: --- arch/um/kernel/tlb.c~ Wed May 24 09:09:49 2000 +++ arch/um/kernel/tlb.c Wed May 24 09:23:39 2000 @@ -179,7 +179,7 @@ /* text, data, init_task, data, bss, physical memory in three chunks, virtual memory area, stack */ -static struct vm_area_struct process_vmas[10 * (NESTING + 1)]; +static struct vm_area_struct process_vmas[20 * (NESTING + 1)]; static int num_process_vmas = 0; void add_perm_vma(unsigned long start, unsigned long end, char rperm, I'll figure out a better way of doing this later. Jeff |
From: Jeff D. <jd...@ka...> - 2000-05-24 02:42:25
|
nu...@r4... said: > ....kills usermode linux nicely. But the host is nice and stable. I > just LOVE that :) That's fixed in my next release. I'm putting in a real irq system and /proc/interrupts comes along more-or-less for free. Jeff |
From: Jeff D. <jd...@ka...> - 2000-05-24 02:42:24
|
You appear not to be the only one. It works fine for me :-) Look at the "problems executing uml-2.3.99-pre8" thread on the user list for more examples. I discovered a header that I didn't write that could be the cause. Put the below in arch/asm-um/highmem.h and rebuild: #ifndef __UM_HIGHMEM_H #define __UM_HIGHMEM_H #include "asm/arch/highmem.h" #endif If that doesn't do it, I might need one of you troublemakers to let me on your box so I can have a look :-) Jeff |
From: James R. L. <jl...@mi...> - 2000-05-23 23:53:58
|
Is anyone else having probelm compile there own kernel with pre8? tar -zxvf linux-2.3.99-pre8.tar.gz cd linux bzip2 -dc ../patch-2.3.99-pre8.bz2 | patch -p1 cd include/asm ln -s ../asm-i386 arch cd ../../ cd arch/um/include/ ln -s sysdep-i386 sysdep cd ../../../ make menuconfig make dep ; make linux The resulting "kernel" hangs in select() right after getting a sigtrap. Obviously I'm screwing something up. Host system is rh 6.1 running a 2.3.99-pre6 kernel Any help would be greatly appreciated. Jim -- James R. Leu |
From: <nu...@r4...> - 2000-05-23 21:48:52
|
....kills usermode linux nicely. But the host is nice and stable. I just LOVE that :) --buddy |
From: Jeff D. <jd...@ka...> - 2000-05-23 04:55:39
|
> perl script is out of the question...SUID scripts is even worse (well > maybe not) than SUID ifconfig. A simple binary is probably a better > idea. I thought I read somewhere in the perl docs that safe suid perl scripts were doable. Anyway, a binary would be easy enough, too. If you're so bothered by it, why not write up a nice little ifconfig wrapper, and I'll distribute it instead of my stupid um_ifconfig :-) > I dont know TOO much, but i think it's more a kernel thing that's > restricting it from doing things..ifconfig doesn't really do much > error checking... I think you're right. BTW, configuring the device isn't the only permissions problem with the net. In order to set up a slip device, you need to get a pty. I currently use a pts device, and on some distros (like Debian) the permissions on /dev/pts don't allow random users to do that. One more reason to go over to an ethertap network. Jeff |
From: <nu...@r4...> - 2000-05-22 20:40:39
|
> > The actual device names aside, what do you mean up letting ifconfig ONLY > configure umn and lo? Are you talking about me shipping a restricted ifconfig > that people are supposed to make suid root? yup....some kind of checking to make sure the arguments are what UML will be using.... > That can be done with a perl > script or a little binary that checks its arguments and execs ifconfig. > perl script is out of the question...SUID scripts is even worse (well maybe not) than SUID ifconfig. A simple binary is probably a better idea. > Long-term, I do think that ifconfig needs to lighten up a bit. Maybe by > looking at the permissions of the tap devices (which I don't think it does > now). I dont know TOO much, but i think it's more a kernel thing that's restricting it from doing things..ifconfig doesn't really do much error checking... --buddy |
From: Jeff D. <jd...@ka...> - 2000-05-22 20:37:12
|
nu...@r4... said: > Well, i don't exactly like making a SUID ifconfig binary, nor do i > like running UML as root. Nobody likes it, least of all me. > How about a patch to ifconfig such that it ONLY ifconfig's 'umn' and > 'lo' with their respective IPs. Because in the hosting kernel, where the permission problems are, the device being ifconfig-ed is sl* (and /dev/tap* if that ethertap interface gets finished). The actual device names aside, what do you mean up letting ifconfig ONLY configure umn and lo? Are you talking about me shipping a restricted ifconfig that people are supposed to make suid root? That can be done with a perl script or a little binary that checks its arguments and execs ifconfig. Long-term, I do think that ifconfig needs to lighten up a bit. Maybe by looking at the permissions of the tap devices (which I don't think it does now). Jeff |
From: <nu...@r4...> - 2000-05-22 19:33:09
|
Well, i don't exactly like making a SUID ifconfig binary, nor do i like running UML as root. So, here's my idea and i hope someone can take it and run with it. How about a patch to ifconfig such that it ONLY ifconfig's 'umn' and 'lo' with their respective IPs. suggestions? --buddy |
From: Jeff D. <jd...@ka...> - 2000-05-20 19:17:53
|
I added some code to speed up context switching. Before, the woken-up process needed to do a complete page table walk in order to update its address space with any changes that had occurred when it was asleep. Now, proc->mm->segments remembers those changes, and on most wakeups, this list can be used to do the updates. I also made /proc/interrupts contain some minimal useful information. Jeff |
From: Jeff D. <jd...@ka...> - 2000-05-19 19:11:04
|
I've checked in a redesign of the system call dispatch mechanism. Instead of that huge switch in arch/um/sys-$(SUBARCH)/syscalls.c (and formerly arch/um/kernel/syscall_kern.c), there is now an array of function pointers in arch/um/kernel/sys_call_table.c. This includes "sysdep/syscalls.h", in which each arch is expected to define ARCH_SYSCALLS, which initializes the system calls specific to that arch, and LAST_SYSCALL, which is the last defined system call for that arch. This moves all of the common code back to arch/um/kernel where it belongs, and makes arches define only those system calls it does differently. Jeff |
From: Jeff D. <jd...@ka...> - 2000-05-13 04:08:00
|
The -pre8 changes are checked in. The major change here is that kernel modules now work. Note that you can't use modules from your host kernel. You have to use modules that were built in the user-mode pool. To get them installed in the user-mode filesystem, I mount the filesystem in mnt at the top of the pool, and run 'make modules_install INSTALL_MOD_PATH=`pwd`/mnt'. This will drop the modules in the right place. Make sure you unmount it before running the kernel. I'm sure that there are lots of symbols that arch is going to need to export. I exported just enough to get isofs working as a module. When you run into them, let me know, and I'll export them. Jeff |
From: Jeff D. <jd...@ka...> - 2000-05-12 19:26:00
|
I've checked in the -pre7 code. The only updates to the arch code involved device names changing from a pointer to an array, some locking changes in ptrace, and new handling of the return from handle_mm_fault in the seg fault handler. Jeff |
From: Jeff D. <jd...@ka...> - 2000-05-08 17:18:08
|
This set includes more abstracting away i386-specific code, and it also includes the first drop of Chris Emerson's ppc code. Jeff |
From: Jeff D. <jd...@ka...> - 2000-05-03 18:32:00
|
> I'll have to have a closer look. At the moment all that I see is a > zombie process. Make sure that it's hitting the segfault handler. If it's not, figure out why it's not being installed. > I've been running 'killall -KILL linux' a lot recently. You'll get used to that :-) > Incidentally, have you got gdb usefully debugging this sort of thing? The basic problem is that a process can only have one ptrace parent at a time, and most of the threads are already being ptraced by the tracing thread. So, if you send the thread you're interested in a SIGUSR1, the tracing thread will see it and detach that thread. At that point, you can attach to it with gdb and poke around. > Is padzero the first one to happen? If not, it's possibly even > stranger. It's the second. The stack initialization happens first. Jeff |