[pkg-cryptsetup-devel] Bug#1057441: linux-image-6.6-amd64: Crypt does not longer work
Salvatore Bonaccorso
carnil at debian.org
Tue Dec 5 16:14:20 GMT 2023
Control: reassign -1 src:cryptsetup 2:2.6.1-5
Hi
On Tue, Dec 05, 2023 at 04:55:58PM +0100, Salvatore Bonaccorso wrote:
> Hi,
>
> On Tue, Dec 05, 2023 at 04:38:19PM +0100, Salvatore Bonaccorso wrote:
> > Control: tags -1 + confirmed
> >
> > On Tue, Dec 05, 2023 at 06:23:45AM +0100, Michael Ott wrote:
> > > Package: src:linux
> > > Version: 6.6.4-1~exp1
> > > Severity: important
> > >
> > > Dear Maintainer,
> > >
> > > After updating to the 6.6 kernel the password for my encryption does not longer
> > > work
> > >
> > > Please unlock disk nvme0n1p3_crypt: **********
> > > device-mapper: table: 253:0: crypt: Error allocation crypto tfm (_ENOENT)
> > > device-mapper: ioctl: error adding target to table
> > > device-mapper: reload ioctl on nvme0n1p3_crypt (253:0) failed: No such file or
> > > directory
> > > cryptsetup: ERROR: nvme0n1p3_crypt: cryptsetup failed, bad password or options?
> > >
> > > Everything works with 6.5. I also downgrade systemd and cryptosetup but no
> > > changes
> >
> > I suspect this is related to changes around
> > https://git.kernel.org/linus/68cf01760bc0891074e813b9bb06d2696cac1c01
> > (but not verified, nor tracked down).
>
> Actually after a more closer look on what is in the initrd: Bastian
> can be this due to switching to compressed modules? If this claim is
> correct then likely initramfs-tools would not copy them to the initrd.
It looks that we only consider *.ko uncompressed in
debian/initramfs/hooks/cryptroot:
add_modules() {
local glob="$1" found=n
shift
for mod in $(find -H "$@" -name "$glob.ko" -type f -printf '%f\n'); do
manual_add_modules "${mod%.ko}"
found=y
done
[ "$found" = y ] && return 0 || return 1
}
but various modules are now with 6.6.4-1~exp1 compressed:
a relatively quick woraround would be to change the function to:
add_modules() {
local glob="$1" found=n
shift
for mod in $(find -H "$@" -name "$glob.ko*" -type f -printf '%f\n'); do
manual_add_modules "${mod%.ko*}"
found=y
done
[ "$found" = y ] && return 0 || return 1
}
Is this the correct approach though? Which other hook functions might
be affected by the change in linux by switching to compressed modules?
Regards,
Salvatore
More information about the pkg-cryptsetup-devel
mailing list