Debian Patches

Status for hurd/1:0.9.git20250801-4

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
libports-iterate-refcount.patch http://lists.gnu.org/archive/html/bug-hurd/2016-03/msg00034.html

diff --git a/libports/bucket-iterate.c b/libports/bucket-iterate.c
index b021b99..76dc3f7 100644
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
getty-noclear Ignore --noclear passed by sysvinit since version 2.95-5

diff --git a/daemons/getty.c b/daemons/getty.c
index 40ad4d73..cfa5b71d 100644
no
cthreads.patch We can remove it with glibc 2.33

===================================================================
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
local-64b-align Avoid 64b typing error on RPC with 64b members in structures, while we migrate
to the fixed 64b structure alignment.

To be removed after people have migrated both gnumach libc+hurd rebuilt against
fixed mig.

===================================================================
no
boot-64b commit 3b17fe2b2f8fd9b17692feacfb2e13bb0709d942

boot: Fix loading 64b ELF files

diff --git a/boot/boot_script.c b/boot/boot_script.c
index c9d4aef7..340ccc89 100644
Samuel Thibault <samuel.thibault@ens-lyon.org> no 2025-08-20
boot-script-ld-so commit 685f2ac40705c7a9bb1642c7c9c5d2914db2a9e5

boot scripts: recommend using exec.static

This avoids issues with differing versions of ld.so being used and libc
actually installed.


commit 7d383a88652fccb272bea73ec29a9f2d88014167

boot: fix ld.so name for x86_64 in default boot script
Samuel Thibault <samuel.thibault@ens-lyon.org> no 2025-08-20
proc-pset commit 7d4fa875ae604b7fcb1505e1dcf795fa3f7f2d7d

proc: cope with psets dying during host_processor_sets call

diff --git a/proc/mgt.c b/proc/mgt.c
index 76cebaa9..3f04e2ba 100644
Samuel Thibault <samuel.thibault@ens-lyon.org> no 2025-08-22
git-libstore-file-512b-block commit 2257593d583b2016d73d4b6eb7a76bda751c1c5a

libstore: use 512-byte blocks if file size is a multiple

As suggested in:

https://lists.debian.org/aKheR0SX8yI5Aw9Q@begin

diff --git a/libstore/file.c b/libstore/file.c
index c54eee91..80d6812a 100644
Stéphane Glondu <glondu@debian.org> no 2025-08-23
git-rumpdisk-ktype commit 2ccdc970f7d83a4a5fc3c2c6e89f94a10e36d2ac

rumpdisk: Set USER_DEVICE ktype on device ports

so that IPC messages destined for rumpdisk will use page lists rather than
page map entries, to make them safe against swapping out.

diff --git a/configure.ac b/configure.ac
index d7e33e56..4ddb1fe9 100644
Michael Kelly <mike@weatherwax.co.uk> no 2025-08-31

All known versions for source package 'hurd'

Links