• Bug#1107203: unblock: initramfs-tools/0.148.1 (1/2)

    From Ben Hutchings@21:1/5 to All on Tue Jun 3 00:20:01 2025
    XPost: linux.debian.kernel, linux.debian.devel.release

    This is a multi-part MIME message sent by reportbug.


    Package: release.debian.org
    Severity: normal
    X-Debbugs-Cc: initramfs-tools@packages.debian.org, debian-kernel@lists.debian.org
    Control: affects -1 + src:initramfs-tools
    User: release.debian.org@packages.debian.org
    Usertags: unblock

    Please unblock package initramfs-tools

    [ Reason ]
    The unmkinitramfs command is currently a shell script that has to run
    multiple processes for each uncompressed cpio archive member in an
    initramfs.

    This was not too bad when there were usually only a few microcode
    blobs in an uncompressed archive, but now that we put compressed
    kernel modules in an uncompressed archive, it became very slow indeed.

    I fixed this by rewriting it in C.

    [ Impact ]
    unmkinitramfs is currently very slow.

    [ Tests ]
    I added an autopkgtest script that tests unmkinitramfs with all
    supported sequences of uncompressed and/or compressed cpio archives in
    an initramfs image.

    unmkinitramfs is also used in autopkgtest scripts for various packages
    that integrate with initramfs-tools.

    Since unmkinitramfs is supposed to be robust against invalid and
    untrusted inputs, I also fuzz-tested it. In 68 CPU-hours' fuzzing of
    the standard build and a build with various sanitizers enabled, I did
    not find any issues.

    [ Risks ]
    As with any rewrite, it's possible that the new implementation doesn't
    behave quite like the previous one. And as with any program written
    in C, all kinds of nasty bugs are possible. However, I think that the autopkgtest coverage and fuzzing reduce these risks to an acceptable
    level.

    [ Checklist ]
    [X] all changes are documented in the d/changelog
    [X] I reviewed all changes and I approve them
    [X] attach debdiff against the package in testing

    [ Other info ]

    unblock initramfs-tools/0.148.1

    diff -Nru initramfs-tools-0.147/Makefile initramfs-tools-0.148.1/Makefile
    --- initramfs-tools-0.147/Makefile 1970-01-01 01:00:00.000000000 +0100
    +++ initramfs-tools-0.148.1/Makefile 2025-05-13 05:22:04.000000000 +0200
    @@ -0,0 +1,7 @@
    +CFLAGS += -Wall -Wextra -O2
    +
    +all: unmkinitramfs
    +clean:
    + rm -f unmkinitramfs
    +
    +.PHONY: all clean
    diff -Nru initramfs-tools-0.147/debian/changelog initramfs-tools-0.148.1/debian/changelog
    --- initramfs-tools-0.147/debian/changelog 2025-03-28 02:07:15.000000000 +0100
    +++ initramfs-tools-0.148.1/debian/changelog 2025-05-28 20:21:18.000000000 +0200
    @@ -1,3 +1,17 @@
    +initramfs-tools (0.148.1) unstable; urgency=medium
    +
    + * No-change source upload to allow propagation to testing
    +
    + -- Ben Hutchings <benh@debian.org> Wed, 28 May 2025 20:21:18 +0200
    +
    +initramfs-tools (0.148) unstable; urgency=medium
    +
    + * [a797b42] unmkinitramfs: Rewrite in C to make it acceptably fast
    + * [9e37d8b] Move unmkinitramfs to new initramfs-tools-bin package
    + * [49f3bba] test: Add autopkgtest case for unmkinitramfs
    +
    + -- Ben Hutchings <benh@de