bug#53005: cryptsetup-static aborts opening LUKS2 volume with Argon2i PBKDF

2024-02-07 Thread Simon South
This issue was fixed with commit 6b6fb7872486, "gnu: glibc: Build with '--strip-debug' instead of '--strip-all'." -- Simon South si...@simonsouth.net

bug#53005: cryptsetup-static aborts opening LUKS2 volume with Argon2i PBKDF

2022-08-19 Thread angry rectangle
I too have been affected by this bug for a long time and hope it will be fixed one day. For end-users, attached is a drop-in workaround you can use to make guix utilize the old cryptsetup build. It's sloppy, but at least the system can boot again. Thanks for the research, Simon. ;; workaround fo

bug#53005: cryptsetup-static aborts opening LUKS2 volume with Argon2i PBKDF

2022-01-10 Thread Simon South
Here's a patch that fixes this problem by modifying the glibc package so the "__pthread_key_create" symbol in its pthread library is preserved, as opposed to being stripped off as it is today. This tests fine for me on both AArch64 and x86-64: Stepping through the code in gdb I can see libgcc's __

bug#53005: cryptsetup-static aborts opening LUKS2 volume with Argon2i PBKDF

2022-01-07 Thread Simon South
After some testing I've found the regression was introduced in commits f32a6055a5 and e0f31baacc, "build-system/gnu: strip with --strip-unneeded", which replace "--strip-debug" with "--strip-unneeded" for packages that use the GNU build system. It seems this is now stripping a bit too much. The s

bug#53005: cryptsetup-static aborts opening LUKS2 volume with Argon2i PBKDF

2022-01-04 Thread Simon South
This seems to be caused by the symbol "__pthread_key_create" being absent from cryptsetup's symbol table during linking, even though it is meant to be exported explicitly by glibc. The fundamental issue is that cryptsetup's Argon2i implementation (and thus cryptsetup itself) is multithreaded, but

bug#53005: cryptsetup-static aborts opening LUKS2 volume with Argon2i PBKDF

2022-01-04 Thread Simon South
Currently cryptsetup from the "cryptsetup-static" package is unable to open LUKS2 encrypted volumes that use the Argon2i key-derivation algorithm, the default for LUKS2. It catches SIGABRT and exits without opening the volume. This appears to be a regression following the merge of the core-update