Re: [PATCH] Add mach_debug defs rules

2014-06-17 Thread Justus Winter
Quoting David Michael (2014-06-16 21:08:06) > * Makeconf (mach_debug_defs_names,mach_debug_defs): New variables. > * Makeconf: Add rule to generate local $(mach_debug_defs) files. > * procfs/Makefile: Remove vpath for mach_debug defs. > --- > > Hi, > > The hard-coded /usr/include vpath will break

[PATCH] libdiskfs: fix deadlock

2014-06-22 Thread Justus Winter
Previously, libdiskfs would deadlock on contention on renamedirlock due to the lock being taken spuriously. Found using fsstress from the Linux Test Project. * libdiskfs/dir-rename.c (diskfs_S_dir_rename): Remove spurious pthread_mutex_lock. --- libdiskfs/dir-rename.c | 1 - 1 file changed, 1 de

[PATCH 4/8] isofs: use a seperate lock to protect node_cache

2014-06-22 Thread Justus Winter
Previously, isofs used diskfs_node_refcnt_lock to serialize access to the node_cache. Use a separate lock to protect node_cache. Adjust the reference counting accordingly. Every node in the node_cache carries a light reference. When we are asked to give up that light reference, we reacquire our

[PATCH 3/8] fatfs: use a seperate lock to protect nodehash

2014-06-22 Thread Justus Winter
Previously, fatfs used diskfs_node_refcnt_lock to serialize access to the nodehash. Use a separate lock to protect nodehash. Adjust the reference counting accordingly. Every node in the nodehash carries a light reference. When we are asked to give up that light reference, we reacquire our lock

[PATCH 2/8] ext2fs: use a seperate lock to protect nodehash

2014-06-22 Thread Justus Winter
Previously, ext2fs used diskfs_node_refcnt_lock to serialize access to the nodehash. Use a separate lock to protect nodehash. Adjust the reference counting accordingly. Every node in the nodehash carries a light reference. When we are asked to give up that light reference, we reacquire our lock

[PATCH 1/8] ext2fs: use correct type for block numbers

2014-06-22 Thread Justus Winter
* ext2fs/dir.c (count_dirents): Use block_t for nb. (diskfs_get_directs): Likewise for blkno, nblks. --- ext2fs/dir.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ext2fs/dir.c b/ext2fs/dir.c index 337314c..470b7e9 100644 --- a/ext2fs/dir.c +++ b/ext2fs/dir.c @@ -823,7

[PATCH 6/8] libdiskfs: lock-less reference counting of nodes

2014-06-22 Thread Justus Winter
* libdiskfs/diskfs.h (struct node): Use refcounts_t for reference counting. (diskfs_node_refcnt_lock): Remove. (diskfs_node_norefs,diskfs_drop_node): Change comments accordingly. * libdiskfs/init-init.c: Likewise. * libdiskfs/node-drop.c: Likewise. * libdiskfs/node-make.c: Likewise. * libdiskfs/nod

[PATCH 5/8] tmpfs: use a seperate lock to protect all_nodes

2014-06-22 Thread Justus Winter
Previously, tmpfs used diskfs_node_refcnt_lock to serialize access to the all_nodes and some other related global state related to memory consumption. Use a separate lock to protect all_nodes, and atomic operations to access the state related to memory consumption. Adjust the reference counting ac

[PATCH 7/8] libports: use a global hash table for the lookups

2014-06-22 Thread Justus Winter
Previously, libports used a hash table per port bucket. This makes looking up a port difficult if one does not know the port bucket, as one has to iterate over all buckets and do a hash table lookup each. Having to iterate over the buckets makes it necessary to keep a list of all buckets, which h

[PATCH 8/8] libports: lock-less reference counting for port_info objects

2014-06-22 Thread Justus Winter
* libports/ports.h (struct port_info): Use the new type. * libports/lookup-port.c: No need to lock _ports_lock anymore. * libports/bucket-iterate.c: Likewise. * libports/complete-deallocate.c: Check if someone reacquired a reference through a hash table lookup. * libports/create-internal.c: Use the

Re: [PATCH 2/8] ext2fs: use a seperate lock to protect nodehash

2014-06-23 Thread Justus Winter
Quoting Justus Winter (2014-06-20 19:15:05) > Previously, ext2fs used diskfs_node_refcnt_lock to serialize access to > the nodehash. With this patch applied, I see filesystem corruptions. This patch could still be ok, as it might just expose some other problem. As Richard suggested I am

Re: [PATCH 2/3] i386: add io_map_cached

2014-07-01 Thread Justus Winter
Quoting Samuel Thibault (2014-05-23 01:28:30) > Justus Winter, le Thu 15 May 2014 12:32:41 +0200, a écrit : > > Quoting Samuel Thibault (2014-05-15 02:13:13) > > > Justus Winter, le Fri 02 May 2014 21:33:01 +0200, a écrit : > > > > io_map_cached is like io_map, but r

Re: [PATCH 3/3] i386: use ACPI to power off the machine

2014-07-01 Thread Justus Winter
Quoting David Michael (2014-06-23 00:31:57) > Hi, > > On Sat, May 3, 2014 at 4:56 AM, Justus Winter > <4win...@informatik.uni-hamburg.de> wrote: > > However, when I use --enable-device-drivers=qemu it doesn't work: > > > > db> halt > > Lo

Re: [PATCH 2/3] i386: add io_map_cached

2014-07-01 Thread Justus Winter
Quoting Samuel Thibault (2014-07-01 11:26:19) > Justus Winter, le Tue 01 Jul 2014 11:22:38 +0200, a écrit : > > I don't believe one knows the size in advance. > > In advance, no, but > > > Every acpi table has a header with explicit size information. > > Once

Re: Building and running Hurd in a subhurd/chroot?

2014-07-03 Thread Justus Winter
Quoting Samuel Thibault (2014-07-02 23:19:17) > Svante Signell, le Wed 02 Jul 2014 23:13:34 +0200, a écrit : > > - Run in a subhurd or chroot, which is best? > > It depends which isolation you want. Subhurd is almost complete > isolation. Chroots share the proc, auth etc. servers. This only holds

[PATCH] Support invoking the debugger over the serial console

2014-08-21 Thread Justus Winter
* i386/i386at/com.c (comintr): Invoke the debugger if ctrl-alt-d is pressed. * i386/i386at/com.h (kdb_kintr): Add declaration. --- i386/i386at/com.c | 23 ++- i386/i386at/com.h | 4 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/i386/i386at/com.c b/i386/i3

Re: [PATCH] Support invoking the debugger over the serial console

2014-08-21 Thread Justus Winter
Hi :) Quoting Samuel Thibault (2014-08-21 13:16:01) > Mmm, but this means that an escape alone will be lost, which is a real > problem for e.g. using vim :) Right, that came to my mind after I send the patch (as always...). > Can't escape rather be an static array indexed by unit number? I beli

[PATCH] Support invoking the debugger over the serial console

2014-08-21 Thread Justus Winter
* i386/i386at/com.c (comintr): Invoke the debugger if ctrl-alt-d is pressed. * i386/i386at/com.h (kdb_kintr): Add declaration. --- i386/i386at/com.c | 27 ++- i386/i386at/com.h | 4 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/i386/i386at/com.c b/i38

Re: assertion failure in the glibc

2014-08-28 Thread Justus Winter
Quoting Samuel Thibault (2014-08-27 21:53:39) > Hello, > > Justus Winter, le Mon 05 May 2014 14:10:48 +0200, a écrit : > > I believe I have found two problems in the glibc. > > > > 1. hurd_check_cancel takes 'lock', and then asserts that > >&#x

[PATCH] libdiskfs: fix reference counting of peropen objects

2014-08-29 Thread Justus Winter
Previously, peropen objects were created with a reference count of zero. Therefore, if diskfs_create_protid fails, passing such an object to diskfs_release_peropen would lead to a reference count underflow. * libdiskfs/peropen-make.c (diskfs_peropen_make): Initialize reference count to one. * lib

Re: [PATCH] libdiskfs: fix reference counting of peropen objects

2014-08-29 Thread Justus Winter
Quoting Neal H. Walfield (2014-08-29 11:55:07) > At Fri, 29 Aug 2014 11:33:44 +0200, > Justus Winter wrote: > > Previously, peropen objects were created with a reference count of > > zero. Therefore, if diskfs_create_protid fails, passing such an > > object to diskfs_relea

Re: [PATCH] libdiskfs: fix reference counting of peropen objects

2014-08-31 Thread Justus Winter
Quoting Samuel Thibault (2014-08-29 23:13:08) > Justus Winter, le Fri 29 Aug 2014 11:33:44 +0200, a écrit : > > Previously, peropen objects were created with a reference count of > > zero. Therefore, if diskfs_create_protid fails, passing such an > > object to diskfs_release_

Re: Inappropriate output from /hurd/mtab

2014-08-31 Thread Justus Winter
Hi David :) Quoting da...@4pane.co.uk (2014-08-28 22:23:30) > Running '/hurd/mtab /some/mountpoint/' correctly outputs the mount details. > However trying with a non-mountpoint still emits a result: > > ~:/hurd/mtab /any/dir/ > /dev/hd0s2 /any/dir ext2fs > > where /dev/hd0s2 is '/'. This is p

[PATCH 1/3] trans/mtab: use setnullauth to drop privileges

2014-08-31 Thread Justus Winter
* trans/mtab.c (main): Use setnullauth to drop privileges. --- trans/mtab.c | 15 ++- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/trans/mtab.c b/trans/mtab.c index df03b1d..5207c1e 100644 --- a/trans/mtab.c +++ b/trans/mtab.c @@ -27,6 +27,7 @@ #include #include

[PATCH 3/3] hurd: fix semantic of file_get_children

2014-08-31 Thread Justus Winter
When first introduced as fsys_get_children, it made sense to return the list of children using paths relative to the root of the filesystem that was queried. Making the get_children method part of the fsys protocol was a mistake that has since been corrected in 9366d6b2. Instead of returning path

[PATCH 2/3] libihash: fix comparison between signed and unsigned integer

2014-08-31 Thread Justus Winter
* libihash/ihash.h (HURD_IHASH_ITERATE): Fix comparison between signed and unsigned integer expressions. --- libihash/ihash.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libihash/ihash.h b/libihash/ihash.h index 345630d..849a55a 100644 --- a/libihash/ihash.h +++ b/libihas

Re: [PATCH 2/3] libihash: fix comparison between signed and unsigned integer

2014-08-31 Thread Justus Winter
Quoting Samuel Thibault (2014-08-31 16:31:04) > Justus Winter, le Sun 31 Aug 2014 16:25:00 +0200, a écrit : > > * libihash/ihash.h (HURD_IHASH_ITERATE): Fix comparison between signed > > and unsigned integer expressions. > > Ack. > > This only fixes a warning, not a bug, right? Correct. Justus

[PATCH] include: detect use-after-free errors using the reference counts

2014-08-31 Thread Justus Winter
* include/refcount.h (refcount_init): There must be at least one reference at initialization time. (refcounts_init): Likewise. (refcount_unsafe_ref): New function retaining the previous functionality of refcount_ref. It is occasionally useful to raise the reference count again after it dropped to

Re: [PATCH 3/3] hurd: fix semantic of file_get_children

2014-09-01 Thread Justus Winter
Quoting Samuel Thibault (2014-09-01 08:40:45) > Gabriele, could you check whether that fixes some of your concerns with > pbuilder & sbuild? Here are packages containing that patch. FWIW, my build host runs testing, I'll try hard not to break the testing packages: deb http://darnassus.sceen.net/

[task #3731] kill -1 should exclude system services

2014-09-02 Thread Justus Winter
Update of task #3731 (project hurd): Status:None => Done Percent Complete: 0% => 100% ___ Reply to this item at:

[task #6611] The `exec' server should honor the `EXECSERVERS' environment variable

2014-09-02 Thread Justus Winter
Update of task #6611 (project hurd): Status:None => Cancelled Open/Closed:Open => Closed Wiki-like text discussion box: => This code has been removed in 48da1229d36a9ca6c04

[task #5498] ext3fs

2014-09-02 Thread Justus Winter
Follow-up Comment #1, task #5498 (project hurd): The original page vanished, however, archive.org has a snapshot: https://web.archive.org/web/20081106154911/http://debian.fmi.uni-sofia.bg/~ogi/hurd/ext3fs/ I'll attach his latest patch. (file #32016) _

[PATCH 2/8] Add proc_set_init_task, make runsystem pid 1

2014-09-03 Thread Justus Winter
* hurd/process.defs (proc_set_init_task): New procedure. * hurd/process_reply.defs (proc_set_init_task): Likewise. * hurd/process_request.defs (proc_set_init_task): Likewise. * include/pids.h: Add HURD_PID_INIT as 1, adjust others accordingly. * init/init.c (start_child): Register the child task. *

[PATCH 1/8] libdiskfs: fix /servers/exec lookup

2014-09-03 Thread Justus Winter
* libdiskfs/boot-start.c (diskfs_start_bootstrap): Pass retry_name to dir_lookup, which is later checked to be the empty string. --- libdiskfs/boot-start.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libdiskfs/boot-start.c b/libdiskfs/boot-start.c index 4cc7bb8..a590975 100

[PATCH 4/8] init: add a minimalist init program

2014-09-03 Thread Justus Winter
This patch adds a minimalist init program. It is somewhat lacking in features, but is able to bring up a Hurd system with the runsystem and rc scripts. In fact, it roughly does what the former /hurd/init did, modulo all the very early bootstrapping stuff and the startup protocol. It is started w

[PATCH 5/8] startup: do not pass signals on to the child

2014-09-03 Thread Justus Winter
Formerly /hurd/startup would forward all signals to the child it started (e.g. /libexec/runsystem). The motivation for doing so is not revealed in the comments, nor it is mentioned in the history of the version control system. This patch removes the forwarding of signals to the child. * startup/

[PATCH 6/8] startup: be more specific in the shutdown message

2014-09-03 Thread Justus Winter
Use the BOOT macro to print either halt or reboot instead of the generic shutdown in the event of an system shutdown. * startup/startup.c (reboot_system): Use more specific message. --- startup/startup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/startup/startup.c b/start

[PATCH 7/8] startup: fix the declaration of the *_server functions

2014-09-03 Thread Justus Winter
* startup/startup.c (demuxer): Fix the declaration of the server functions. --- startup/startup.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/startup/startup.c b/startup/startup.c index 0a33855..fe8471d 100644 --- a/startup/startup.c +++ b/startup/startup.c @@ -501,7 +50

[PATCH 3/8] startup: rename /hurd/init to /hurd/startup

2014-09-03 Thread Justus Winter
This patch series splits /hurd/init into two programs. As a first step, this patch renames /hurd/init to /hurd/startup. It is called startup because it speaks the startup protocol. * startup: Rename init to startup. Adjust accordingly. * Makefile (prog-subdirs): Likewise. * doc/hurd.texi (Serve

[PATCH 8/8] startup: bind the startup server to /servers/startup

2014-09-03 Thread Justus Winter
Previously, the Hurd (ab)used the fact that the startup server speaks all protocols on its message port. Any server that wished to register for shutdown notifications would use proc_getmsgport to get a port to the startup server. This hardcodes the PID of /hurd/startup, and does not allow one to

[PATCH] hurd: make memory_object parameter polymorphic

2014-09-04 Thread Justus Winter
Make the memory_object parameter of default_pager_object_create polymorphic. This fixes https://savannah.gnu.org/bugs/?26751 . * hurd/default_pager.defs (default_pager_object_create): Make memory_object parameter polymorphic. * mach-defpager/default_pager.c (S_default_pager_object_create): Adjust

[PATCH] trans/hello{, -mt}: properly escape contents in trivfs_append_args

2014-09-04 Thread Justus Winter
Fixes https://savannah.gnu.org/bugs/?15806 . * trans/hello-mt.c (trivfs_append_args): Escape contents. * trans/hello.c (trivfs_append_args): Likewise. --- trans/hello-mt.c | 28 ++-- trans/hello.c| 21 +++-- 2 files changed, 41 insertions(+), 8 deletion

[bug #26751] creating memory objects through the proxy defpager can fail

2014-09-04 Thread Justus Winter
Update of bug #26751 (project hurd): Status:None => Fixed Open/Closed:Open => Closed ___ Follow-up Comment #4: Fixed in 8fd228ccd4545

[bug #15806] hello translator: unquoted contents option

2014-09-04 Thread Justus Winter
Update of bug #15806 (project hurd): Status:None => Fixed Open/Closed:Open => Closed ___ Follow-up Comment #2: Fixed in 74fc3df9e4ecd

Missed to change the kernel pid in procfs

2014-09-05 Thread Justus Winter
Hi, I missed procfs, which has to be told the new kernel pid. Also, I realize that these changes are a pita to build Debian packages from. You can grab the packaging bits from git://darnassus.sceen.net/teythoon/packaging/hurd.git and binary packages from deb http://darnassus.sceen.net/~teytho

[PATCH 2/8] procfs: do not hard-code the default argument values

2014-09-05 Thread Justus Winter
* procfs/main.c (common_options): If possible, do not hard-code the default values. --- procfs/main.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/procfs/main.c b/procfs/main.c index f3067d9..36a2d25 100644 --- a/procfs/main.c +++ b/procfs/main.c @@ -142,13 +142,13 @@

[PATCH 1/8] Add proc_set_init_task, make runsystem pid 1

2014-09-05 Thread Justus Winter
* hurd/process.defs (proc_set_init_task): New procedure. * hurd/process_reply.defs (proc_set_init_task): Likewise. * hurd/process_request.defs (proc_set_init_task): Likewise. * include/pids.h: Add HURD_PID_INIT as 1, adjust others accordingly. * init/init.c (start_child): Register the child task. *

Fixing gnumachs vm_map

2014-09-05 Thread Justus Winter
Hi :) there is a bug affecting vm_map. Contrary to the documentation, address is not ignored if anywhere is given, leading to spurious KERN_NO_SPACE errors. Test case below. I'm not sure the fix is correct, maybe we have to do if (... || start + size > map->max_offset)... or something. Pleas

[PATCH] vm: fix vm_map_enter

2014-09-05 Thread Justus Winter
Previously, vm_map_enter returned KERN_NO_SPACE if ADDRESS is out of range even if ANYWHERE was given. * vm/vm_map.c (vm_map_enter): Pick a suitable address if the given address is out of bounds and anywhere is given. --- vm/vm_map.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff

[PATCH 2/2] libports: lock-less reference counting for port_info objects

2014-09-05 Thread Justus Winter
* libports/ports.h (struct port_info): Use the new type. * libports/lookup-port.c: No need to lock _ports_lock anymore. * libports/bucket-iterate.c: Likewise. * libports/complete-deallocate.c: Check if someone reacquired a reference through a hash table lookup. * libports/create-internal.c: Use the

[PATCH 1/2] libports: use a global hash table for the lookups

2014-09-05 Thread Justus Winter
Previously, libports used a hash table per port bucket. This makes looking up a port difficult if one does not know the port bucket, as one has to iterate over all buckets and do a hash table lookup each. Having to iterate over the buckets makes it necessary to keep a list of all buckets, which h

Re: Fixing gnumachs vm_map

2014-09-06 Thread Justus Winter
Quoting Samuel Thibault (2014-09-06 11:39:35) > Justus Winter, le Fri 05 Sep 2014 14:53:52 +0200, a écrit : > > there is a bug affecting vm_map. Contrary to the documentation, > > address is not ignored if anywhere is given, leading to spurious > > KERN_NO_SPACE errors. >

Re: hang on bootstrap

2014-09-10 Thread Justus Winter
Hi :) Quoting Riccardo Mottola (2014-09-08 22:30:12) > after the last udpate (I admit, a couple of weeks ago before the holiday > season) which was apparently successful, my system doesn't boot anymore. > > I get: > > <...> > start ext2fs: ext2fs: device:hd0s1: warning: FILESYSTEM NOT UNMOUNTED

Re: SysV shutdown hanging

2014-09-12 Thread Justus Winter
Hi Thomas :) Quoting Thomas Schwinge (2014-09-12 09:16:32) > In my QEMU Debian GNU/Hurd instance, I do some stuff (GDB testsuite, for > example), and then issue a »sudo shutdown -r now«. This doesn't > complete, but hangs like this: > > PID UID PPID PGrp Sess TH Vmem RSS %CPU Us

Re: GDB testsuite: »Memory at address 0 is possibly executable«

2014-09-12 Thread Justus Winter
Hi :) Quoting Thomas Schwinge (2014-09-11 16:23:04) > $ ldd /bin/true > libc.so.0.3 => /lib/i386-gnu/libc.so.0.3 (0x0103a000) > /lib/ld.so => /lib/ld.so.1 (0x) > libmachuser.so.1 => /lib/i386-gnu/libmachuser.so.1 (0x011fa000) > libhurduse

Re: GDB testsuite: »Memory at address 0 is possibly executable«

2014-09-12 Thread Justus Winter
Quoting Samuel Thibault (2014-09-13 01:39:05) > So it seems we need what is not actually documented, i.e. a vm_map > with anywhere=1, but which takes into account the suggested address. > I'm fine with officially supporting that, we just need to fix the > documentation, I'm sorry, I'm lost. What

[PATCH] ddb: add support for ELF symbol tables

2014-09-14 Thread Justus Winter
* ddb/db_elf.c: New file. * ddb/db_elf.h: Likewise. * Makefrag.am (libkernel_a_SOURCES): Add db_elf.{c,h}. * ddb/db_sym.c (dummy_db_sym_init): New stub db_sym_init function. (db_sym_switch): Add ELF functions. * ddb/db_sym.h (SYMTAB_ELF): New macro. (elf_db_sym_init): New declaration. * i386/i386at

Re: SysV shutdown hanging

2014-09-15 Thread Justus Winter
Quoting Justus Winter (2014-09-12 21:06:30) > Killing the crash server I managed to get my shutdown process going > again, though it got stuck again. Using the kernel debugger (at this > point, sysvinit succesfully killed all my shells) I could see that > indeed another crash ser

[PATCH] ddb: add `show all tasks' command

2014-09-16 Thread Justus Winter
* ddb/db_command.c (db_show_all_cmds): Add `tasks'. * ddb/db_print.c (db_show_all_tasks): New function. * ddb/db_print.h (db_show_all_tasks): New prototype. --- ddb/db_command.c | 1 + ddb/db_print.c | 24 ddb/db_print.h | 6 ++ 3 files changed, 31 insertions(+)

Re: How to crash your Hurd system in 1, 2, 3 -- Mach panic: thread_invoke: thread [...] has unexpected state 14

2014-09-17 Thread Justus Winter
Hey Thomas :) Quoting Thomas Schwinge (2014-09-17 21:25:35) > Hi! > > As a normal user: > > $ rpctrace -o /tmp/expect.$$.rpctrace -s 9 /usr/bin/expect > panic: thread_invoke: thread e19dc7e8 has unexpected state 14 > Debugger invoked: panic > [...] > > Might be the same issu

Re: [PATCH 5/5] ipc: provide the protected payload in ipc_kmsg_copyout_header

2014-09-18 Thread Justus Winter
Quoting Samuel Thibault (2014-02-22 15:29:32) > Justus Winter, le Fri 21 Feb 2014 17:49:28 +0100, a écrit : > > * ipc/ipc_kmsg.c (ipc_kmsg_copyout_header): If a protected payload is > > set for the destination port, provide it in msgh_protected_payload. > > * doc/mach.

[PATCH 2/8] ipc: implement mach_port_{set,clear}_protected_payload

2014-09-18 Thread Justus Winter
* include/mach/mach_port.defs: Add mach_port_{set,clear}_protected_payload. * ipc/mach_port.c: Implement mach_port_{set,clear}_protected_payload. * doc/mach.texi (Receive Rights): Document mach_port_{set,clear}_protected_payload. --- doc/mach.texi | 35 ++ include

[PATCH 4/8] include: define MACH_MSG_TYPE_PROTECTED_PAYLOAD

2014-09-18 Thread Justus Winter
* include/mach/message.h: Define MACH_MSG_TYPE_PROTECTED_PAYLOAD. (MACH_MSG_TYPE_LAST): Adjust accordingly. * doc/mach.texi (Message Format): Document MACH_MSG_TYPE_PROTECTED_PAYLOAD. --- doc/mach.texi | 6 ++ include/mach/message.h | 4 +++- 2 files changed, 9 insertions(+), 1 deleti

[PATCH 3/8] include: add msgh_protected_payload to mach_msg_header_t

2014-09-18 Thread Justus Winter
* include/mach/message.h (mach_msg_header_t): Add msgh_protected_payload as a union with msgh_local_port. * doc/mach.texi (Message Format): Document msgh_protected_payload. --- doc/mach.texi | 9 + include/mach/message.h | 5 - 2 files changed, 13 insertions(+), 1 deletion(-

[PATCH 5/8] ipc: provide the protected payload in ipc_kmsg_copyout_header

2014-09-18 Thread Justus Winter
* ipc/ipc_kmsg.c (ipc_kmsg_copyout_header): If a protected payload is set for the destination port, provide it in msgh_protected_payload. * ipc/mach_msg.c (mach_msg_trap): Likewise in the fast paths. * doc/mach.texi (Message Receive): Document message semantics with protected payloads. --- doc/mac

[PATCH 1/8] ipc: add protected payload

2014-09-18 Thread Justus Winter
Add a field ip_protected_payload and a flag ip_has_protected_payload to struct ipc_port. Clear the protected payload when a receive port is moved from one ipc space to another. This is done to retain the old behavior of mach_msg, so that a port name is sent in the msgh_local_port field. If the ne

[PATCH 6/8] include: add a payload-aware intran mutator for memory_object_t

2014-09-18 Thread Justus Winter
* include/mach/mach_types.defs (memory_object_t): Add a payload-aware intran mutator. * include/mach/memory_object.defs: Likewise in the inlined type declarations. --- include/mach/mach_types.defs| 3 +++ include/mach/memory_object.defs | 13 + 2 files changed, 16 insertions(+) d

[PATCH 7/8] include: add a payload-aware intran mutator for notify_port_t

2014-09-18 Thread Justus Winter
* include/mach/notify.defs (notify_port_t): Add a payload-aware intran mutator. --- include/mach/notify.defs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/mach/notify.defs b/include/mach/notify.defs index 5e59d39..6ba4cde 100644 --- a/include/mach/notify.defs +++ b/include/mach/no

[PATCH 8/8] include: add a payload-aware intran mutator for device_t

2014-09-18 Thread Justus Winter
* include/device/device_types.defs (device_t): Add a payload-aware intran mutator. --- include/device/device_types.defs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/device/device_types.defs b/include/device/device_types.defs index ff6cff6..49cc271 100644 --- a/include/device/devi

[PATCH 1/2] procfs: implement /proc/N/maps

2014-09-18 Thread Justus Winter
Fixes https://savannah.gnu.org/bugs/?32770 . * procfs/process.c (process_file_gc_maps): New function. (entries): Use the new function to implement /proc/N/maps. --- procfs/process.c | 104 ++- 1 file changed, 103 insertions(+), 1 deletion(-) di

[PATCH 2/2] procfs: implement /proc/filesystems

2014-09-18 Thread Justus Winter
* procfs/rootdir.c (rootdir_gc_filesystems): New function. (rootdir_entries): Use the new function to implement /proc/filesystems. --- procfs/rootdir.c | 61 +++- 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/procfs/rootdir.c b/pr

Re: [PATCH 8/8] startup: bind the startup server to /servers/startup

2014-09-18 Thread Justus Winter
Hi David :) Quoting David Michael (2014-09-18 23:14:17) > Hi, > > On Wed, Sep 3, 2014 at 8:33 AM, Justus Winter > <4win...@informatik.uni-hamburg.de> wrote: > > Bind the startup server to /servers/startup instead. Use this to > > contact the startup server. >

[PATCH 4/6] procfs: generalize the translator linkage code

2014-09-21 Thread Justus Winter
Generalize the translator linkage code previously introduced for the `mounts' node. * procfs/rootdir.c (struct procfs_translated_node_ops): New specialized node operations structure for translated nodes. (rootdir_mounts_make_node): Generalize and rename to rootdir_make_translated_node. Also, pass

[PATCH 1/6] procfs: implement /proc/N/mounts

2014-09-21 Thread Justus Winter
* procfs/process.c (process_gc_mounts): New function. (process_symlink_make_node): Likewise. (entries): Use the new functions to provide a symlink to ../mounts. --- procfs/process.c | 27 +++ 1 file changed, 27 insertions(+) diff --git a/procfs/process.c b/procfs/process.c

[PATCH 6/6] procfs: provide magic retry response for /proc/self

2014-09-21 Thread Justus Winter
* hurd/paths.h (_HURD_MAGIC): New macro. * procfs/main.c: Remove all code related to faking /proc/self. * procfs/main.h: Likewise. * procfs/rootdir.c: Likewise. Instead, return the magic retry response `proc/self' for the `self' node. --- hurd/paths.h | 1 + procfs/main.c| 24 ---

[PATCH 2/6] hurd: add symbolic name for the mtab translator

2014-09-21 Thread Justus Winter
* hurd/paths.h (_HURD_MTAB): New macro. * procfs/rootdir.c (rootdir_mounts_get_translator): Use the new macro. (rootdir_mounts_exists): Likewise. --- hurd/paths.h | 2 ++ procfs/rootdir.c | 7 ++- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/hurd/paths.h b/hurd/paths.h in

[PATCH 3/6] procfs: do not test whether /hurd/mtab exists

2014-09-21 Thread Justus Winter
Now that procfs is merged into the Hurd repository we can just assume that the mtab translator exists. * procfs/rootdir.c (rootdir_mounts_exists): Drop function. (rootdir_entries): Adjust accordingly. --- procfs/rootdir.c | 10 -- 1 file changed, 10 deletions(-) diff --git a/procfs/rootd

[PATCH 5/6] procfs: reorganize rootdir.c

2014-09-21 Thread Justus Winter
* procfs/rootdir.c: Move the translator linkage code to the appropriate location. --- procfs/rootdir.c | 153 --- 1 file changed, 77 insertions(+), 76 deletions(-) diff --git a/procfs/rootdir.c b/procfs/rootdir.c index 32e46a0..6f0604a 100644 --

Re: [PATCH 4/6] procfs: generalize the translator linkage code

2014-09-21 Thread Justus Winter
Quoting Justus Winter (2014-09-21 12:12:34) > Generalize the translator linkage code previously introduced for the > `mounts' node. > ... > (ROOTDIR_DEFINE_TRANSLATED_NODE): New convenience macro to define > translated nodes. > ... > +#define ROOTDIR_D

Re: What's the current state of HURD and gnumach?

2014-09-21 Thread Justus Winter
The Hurd project is short-handed. If you want to help, start sending patches. Posting random stuff to the list does not help.

[PATCH 4/7] procfs: do not test whether /hurd/mtab exists

2014-09-22 Thread Justus Winter
Now that procfs is merged into the Hurd repository we can just assume that the mtab translator exists. * procfs/rootdir.c (rootdir_mounts_exists): Drop function. (rootdir_entries): Adjust accordingly. --- procfs/rootdir.c | 10 -- 1 file changed, 10 deletions(-) diff --git a/procfs/rootd

[PATCH 3/7] procfs: implement /proc/N/mounts

2014-09-22 Thread Justus Winter
* procfs/process.c (process_gc_mounts): New function. (process_symlink_make_node): Likewise. (entries): Use the new functions to provide a symlink to ../mounts. --- procfs/process.c | 27 +++ 1 file changed, 27 insertions(+) diff --git a/procfs/process.c b/procfs/process.c

[PATCH 2/7] procfs: implement /proc/filesystems

2014-09-22 Thread Justus Winter
* procfs/rootdir.c (rootdir_gc_filesystems): New function. (rootdir_entries): Use the new function to implement /proc/filesystems. --- procfs/rootdir.c | 61 +++- 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/procfs/rootdir.c b/pr

[PATCH 5/7] procfs: generalize the translator linkage code

2014-09-22 Thread Justus Winter
Generalize the translator linkage code previously introduced for the `mounts' node. * procfs/rootdir.c (struct procfs_translated_node_ops): New specialized node operations structure for translated nodes. (rootdir_mounts_make_node): Generalize and rename to rootdir_make_translated_node. Also, pass

[PATCH 1/7] procfs: implement /proc/N/maps

2014-09-22 Thread Justus Winter
Fixes https://savannah.gnu.org/bugs/?32770 . * procfs/process.c (process_file_gc_maps): New function. (entries): Use the new function to implement /proc/N/maps. --- procfs/process.c | 104 ++- 1 file changed, 103 insertions(+), 1 deletion(-) di

[PATCH 6/7] procfs: reorganize rootdir.c

2014-09-22 Thread Justus Winter
* procfs/rootdir.c: Move the translator linkage code to the appropriate location. --- procfs/rootdir.c | 153 --- 1 file changed, 77 insertions(+), 76 deletions(-) diff --git a/procfs/rootdir.c b/procfs/rootdir.c index a04fb3e..d68645e 100644 --

[PATCH 7/7] procfs: provide magic retry response for /proc/self

2014-09-22 Thread Justus Winter
* hurd/hurd_types.h: Document the magic retry string `proc/self'. * hurd/paths.h (_HURD_MAGIC): New macro. * procfs/main.c: Remove all code related to faking /proc/self. * procfs/main.h: Likewise. * procfs/rootdir.c: Likewise. Instead, return the magic retry response `proc/self' for the `self' nod

And the libc patch

2014-09-22 Thread Justus Winter
And here the corresponding glibc patch.

[PATCH] hurd: Handle `proc/self' magical lookup retry

2014-09-22 Thread Justus Winter
* hurd/lookup-retry.c: Handle `proc/self' magical lookup retry. --- hurd/lookup-retry.c | 38 ++ 1 file changed, 38 insertions(+) diff --git a/hurd/lookup-retry.c b/hurd/lookup-retry.c index f633e57..b18ad3b 100644 --- a/hurd/lookup-retry.c +++

[PATCH] exec: redzone page zero before loading anything

2014-09-22 Thread Justus Winter
This prevents load_section from mapping any sections to page zero. * exec/exec.c (do_exec): Redzone page zero before loading anything. --- exec/exec.c | 10 ++ 1 file changed, 10 insertions(+) diff --git a/exec/exec.c b/exec/exec.c index 2fc1e44..0ecf2d3 100644 --- a/exec/exec.c +++ b/ex

[PATCH] exec: add proper argument parsing, add --device-master-port

2014-09-23 Thread Justus Winter
If the device master port is given, a boot-time exec server can print diagnostic messages earlier. * exec/main.c (opt_device_master): New variable. (OPT_DEVICE_MASTER_PORT): New macro. (options): New set of options. (parse_opt): New function. (trivfs_append_args): Likewise. (argp): Pull the argp d

Re: df triggering deallocation of an invalid port?

2014-09-23 Thread Justus Winter
Hey Thomas :) Quoting Thomas Schwinge (2014-09-23 12:26:01) > Hi! > > The root filesystem and the one backing ~/ are two separate instances of > ext2fs. I just ran »dh -h ~/« , and noticed on the GNU Mach console: > »task e19b6e10 deallocating an invalid port 1047, most probably a bug.« > As it

Release process & rolling new releases

2014-09-23 Thread Justus Winter
Hi Thomas, hi Samuel :) I understand you took care of the release process last time. Is this process documented somewhere? I think that we should make another round of releases. In fact, we should make one or two releases each year. At the very least it brings us quite a bit of attention. If

Re: Release process & rolling new releases

2014-09-23 Thread Justus Winter
Quoting Richard Braun (2014-09-23 17:23:49) > On Tue, Sep 23, 2014 at 05:09:30PM +0200, Thomas Schwinge wrote: > > For me, the question rather is, what constitutes the releases that we > > publish? Some new, exciting features (including considerable bug fixing, > > code re-writes, re-factoring, an

[PATCH] Update NEWS file

2014-09-24 Thread Justus Winter
--- NEWS | 10 ++ 1 file changed, 10 insertions(+) diff --git a/NEWS b/NEWS index 6c1bd19..9fc6b3d 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,13 @@ +2013-XX-XX +Version 1.5 + +* Emit `X_server_routine' functions that can be inlined reducing the + message dispatch overhead. + +* Improve supp

[PATCH] Update NEWS file

2014-09-24 Thread Justus Winter
--- NEWS | 22 ++ 1 file changed, 22 insertions(+) diff --git a/NEWS b/NEWS index 72a2e2d..b047aed 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,25 @@ +2013-XX-XX +Version 0.6 + +Numerous cleanups and stylistic fixes of the code base. Several +problems have been identified using st

[PATCH] Update NEWS file

2014-09-24 Thread Justus Winter
--- NEWS | 16 1 file changed, 16 insertions(+) diff --git a/NEWS b/NEWS index 55d75cc..9a9f620 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,19 @@ +2014-XX-XX +Version 1.5 + +Numerous cleanups and stylistic fixes of the code base. Several +problems have been identified using static a

[PATCH gnumach] kern: create send rights as they are inserted at bootstrap time

2014-09-26 Thread Justus Winter
Previously, it was impossible to hand e.g. the master device port to more than one bootstrap task. Fix this by creating the send right as it is inserted into the target task. * kern/bootstrap.c (bootstrap_create): Do not create the send rights here... (boot_script_insert_right): ... but here. ---

Re: [PATCH v2] utils/mount: add mount options to create firmlinks.

2014-09-29 Thread Justus Winter
Quoting Gabriele Giacone (2014-05-27 22:20:29) > * utils/mount.c (parse_opt): Add -B/--bind/--firmlink/-o bind mount > options. (do_mount): Do not pass bind mount option to settrans, set > firmlink fstype. (main): Likewise. Now that Gabrieles copyright assignment papers are in order, we can

[PATCH] libdiskfs: remove code counting cache misses

2014-09-29 Thread Justus Winter
* libdiskfs/lookup.c (cache_misses): Remove. (cm_lock): Likewise. (diskfs_lookup): Do not count cache misses. --- libdiskfs/lookup.c | 31 --- 1 file changed, 31 deletions(-) diff --git a/libdiskfs/lookup.c b/libdiskfs/lookup.c index bc2ad01..486fedc 100644 --- a/libdi

<    5   6   7   8   9   10   11   12   13   14   >