Debian Patches

Status for hurd/1:0.9.git20261028-3

Patch Description Author Forwarded Bugs Origin Last update
diskfs_no_inherit_dir_group.patch Follow POSIX rules for gid of new nodes. no
init_try_runsystem.gnu.patch Also try runsystem.sysv, in case /etc/alternatives/runsystem is hosed. no
rc.patch More debianish rc scripts no
startup-usr-support.patch Debian GNU/Hurd has a real /usr no
uptime_w_path_fix.patch Debian has a real /usr and uses w-hurd file name no
stat_round.patch This is not a proper fix, discussed on
http://lists.gnu.org/archive/html/bug-hurd/2009-02/msg00002.html
but not finished, last mail on
http://lists.gnu.org/archive/html/bug-hurd/2009-04/msg00006.html

We should support i_ctime_extra/i_mtime_extra/i_atime_extra anyway.
no
external.patch Include DDE in the build

===================================================================
no
console_ignore_bdf_err.patch reduce-font overestimates the number of characters in the font. This should be
fixed there, not here.


diff --git a/console-client/bdf.c b/console-client/bdf.c
index 30501f4..ee8aa30 100644
no
libexec.patch =================================================================== no
mount.patch * utils/mount.c (do_mount): Ignore `loop' and `exec' options. no
MAKEDEV-apm.patch Workaround invocations from installation of power-management packages.

===================================================================
no
term-for-tcl.patch See discussion in http://bugs.debian.org/755295
and bug report on comp.lang.tcl on July 1st 2015
(“'expect' losing data due to tcl buffering”)
no
crash-logging.patch xxx crash logging works no
io-write-crash.patch Yes, the pointer provided by the caller, coming from the RPC buffer, may not
actually be safe to dereference. Try this with /run/shm as tmpfs with the crash
server configured to dump cores:

#include <fcntl.h>
#include <sys/mman.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>

#define name "/run/shm/test.txt"
int main(void) {
int fd = open(name, O_RDWR|O_CREAT, 0777);
if (ftruncate(fd, 4096))
perror("fruncate");
char *c = mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
if (c == MAP_FAILED)
perror("mmap");
if (close(fd))
perror("close");
if (unlink(name))
perror("unlink");
memset(c, 0, 4096);
if (munmap(c, 4096))
perror("munmap");

return 0;
}

It will make *ext2fs* crash, because

- removing a file from tmpfs make its memory object go away, thus making *c
unwritable (it's not the bug at stake, the program here is meant to crash)
- the crash server uses vm_read to read the process memory to write the
core. GNU Mach achieves it by playing with virtual memory.
- the crash server uses vm_write to write this to the FS. GNU Mach passes the
RPC data out of line by playing with virtual memory.
- ext2fs eventually tries to copy from the RPC data, assumed to be safe, to the
memory object, here backed by the pager. But the data is actually not safe.


That probably needs to be fixed at the mig layer, to make sure incoming
out-of-line data is accessible before handing it to the routine?

===================================================================
no
fix-rootless-build.patch fix rootless buildInstead of setting the owner and setuid bit during `make install` which
requires (fake) root, only set it in debian/rules via chown u+s
Fabian Grünbichler <debian@fabian.gruenbichler.email> no
rumpdisk-no-hd =================================================================== no
machdev_trivfs_server For the existing netdde translator...

===================================================================
no
runsystem-race no
ext2fs-crash no
devdir =================================================================== no
hurddir =================================================================== no
git-lwip-filter commit 6581877de802917237c634f56fa1e5cd8761a424

Fix lwip build

diff --git a/lwip/port/netif/hurdethif.c b/lwip/port/netif/hurdethif.c
index 707202696..9ef5cf7a3 100644
Samuel Thibault <samuel.thibault@ens-lyon.org> no 2026-10-28
git-fetch-root commit 858059f3e1009d5ba7b94bde35bdd72d31307104

Partly revert mach_port_mod_refs checks

without this partial revert of 2336993cf542 ("Added checks for
mach_port_mod_refs return value in several place"),

# ls /dev/full
# kill -9 pid_of_full
# ls /dev/full

leads to this kind of messages:

task ext2fs increasing a bogus port 1993 by 1, most probably a bug.
task ext2fs deallocating a bogus port 1993, most probably a bug.

and mayhem starts.

When the translator is killed, control becomes a dead port name, and
mach_port_mod_refs fails, and the handling below probably gets wrong.

diff --git a/libfshelp/fetch-root.c b/libfshelp/fetch-root.c
index 09503340e..a7cee3352 100644
Samuel Thibault <samuel.thibault@ens-lyon.org> no 2026-10-28
git-rumpdisk-countof commit 96b88cc3862b9505b2569883d235a76f6b8ea605

rumpdisk: Drop hardcoded MAX_DISK_DEV macro

diff --git a/rumpdisk/block-rump.c b/rumpdisk/block-rump.c
index aa4a387ff..262892e5e 100644
Gianluca Cannata <gcannata23@gmail.com> no 2026-10-28
git-nvme commit cdb38f36437ebb3687901f6f65f33e8b65912025

rumpdisk: Add support for NVMe disks

diff --git a/rumpdisk/Makefile b/rumpdisk/Makefile
index de33c65d5..7b5947b84 100644
Gianluca Cannata <gcannata23@gmail.com> no 2026-10-30

All known versions for source package 'hurd'

Links