• Bug#1109904: gost-crypto-dkms: module fails to build for Linux 6.16

    From Andreas Beckmann@21:1/5 to All on Sat Jul 26 08:50:01 2025
    Package: gost-crypto-dkms
    Version: 0.3.5-1.1
    Severity: important
    Tags: upstream sid forky

    DKMS (dkms-3.2.0) make.log for gost-crypto/0.3.5 for kernel 6.16-rc7-rt-amd64 (x86_64)
    Thu Jul 24 23:02:13 UTC 2025

    Building module(s)
    # command: make -j14 KERNELRELEASE=6.16-rc7-rt-amd64 -C /lib/modules/6.16-rc7-rt-amd64/build M=/var/lib/dkms/gost-crypto/0.3.5/build
    make: Entering directory '/usr/src/linux-headers-6.16-rc7-rt-amd64'
    make[1]: Entering directory '/var/lib/dkms/gost-crypto/0.3.5/build'
    CC [M] gost28147_basic.o
    CC [M] gost28147_modes.o
    CC [M] gosthash94_generic.o
    CC [M] kuznyechik_generic.o
    CC [M] magma_generic.o
    CC [M] streebog_generic.o
    CC [M] testmgr.o
    CC [M] gost-test-main.o
    gost28147_modes.c: In function 'gost28147_cfb_final':
    gost28147_modes.c:145:19: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
    145 | u8 *src = walk->src.virt.addr;
    | ^~~~
    gost28147_modes.c: In function 'gost28147_cfb_encrypt_segment': gost28147_modes.c:159:19: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
    159 | u8 *src = walk->src.virt.addr;
    | ^~~~
    gost28147_modes.c: In function 'gost28147_cfb_encrypt_inplace': gost28147_modes.c:182:19: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
    182 | u8 *src = walk->src.virt.addr;
    | ^~~~
    gost28147_modes.c: In function 'gost28147_cfb_decrypt_segment': gost28147_modes.c:259:19: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
    259 | u8 *src = walk->src.virt.addr;
    | ^~~~
    gost28147_modes.c: In function 'gost28147_cfb_decrypt_inplace': gost28147_modes.c:282:19: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
    282 | u8 *src = walk->src.virt.addr;
    | ^~~~
    gost28147_modes.c: In function 'gost28147_cnt_final':
    gost28147_modes.c:390:19: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
    390 | u8 *src = walk->src.virt.addr;
    | ^~~~
    gost28147_modes.c: In function 'gost28147_cnt_crypt_segment': gost28147_modes.c:404:19: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
    404 | u8 *src = walk->src.virt.addr;
    | ^~~~
    gost28147_modes.c: In function 'gost28147_cnt_crypt_inplace': gost28147_modes.c:424:19: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
    424 | u8 *src = walk->src.virt.addr;
    | ^~~~
    streebog_generic.c: In function 'streebog_pad':
    streebog_generic.c:970:16: error: 'struct streebog_state' has no member named 'fillsize'
    970 | if (ctx->fillsize >= STREEBOG_BLOCK_SIZE)
    | ^~
    In file included from /usr/src/linux-headers-6.16-rc7-common/include/linux/string.h:392,
    from /usr/src/linux-headers-6.16-rc7-common/include/linux/bitmap.h:13,
    from /usr/src/linux-headers-6.16-rc7-common/include/linux/cpumask.h:12,
    from /usr/src/linux-headers-6.16-rc7-common/arch/x86/include/asm/paravirt.h:21,
    from /usr/src/linux-headers-6.16-rc7-common/arch/x86/include/asm/irqflags.h:102,
    from /usr/src/linux-headers-6.16-rc7-common/include/linux/irqflags.h:18,
    from /usr/src/linux-headers-6.16-rc7-common/include/linux/spinlock.h:59,
    from /usr/src/linux-headers-6.16-rc7-common/include/linux/swait.h:7,
    from /usr/src/linux-headers-6.16-rc7-common/include/linux/completion.h:12,
    from /usr/src/linux-headers-6.16-rc7-common/include/linux/crypto.h:15,
    from /usr/src/linux-headers-6.16-rc7-common/include/crypto/algapi.h:13,
    from /usr/src/linux-headers-6.16-rc7-common/include/crypto/internal/hash.h:11,
    from streebog_generic.c:15:
    streebog_generic.c:974:26: error: 'struct streebog_state' has no member named 'buffer'
    974 | sizeof(ctx->buffer) - ctx->fillsize);
    | ^~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:502:42: note: in definition of macro '__fortify_memset_chk'
    502 | size_t __fortify_size = (size_t)(size); \
    | ^~~~
    streebog_generic.c:973:9: note: in expansion of macro 'memset'
    973 | memset(ctx->buffer + ctx->fillsize, 0,
    | ^~~~~~
    streebog_generic.c:974:41: error: 'struct streebog_state' has no member named 'fillsize'
    974 | sizeof(ctx->buffer) - ctx->fillsize);
    | ^~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:502:42: note: in definition of macro '__fortify_memset_chk'
    502 | size_t __fortify_size = (size_t)(size); \
    | ^~~~
    streebog_generic.c:973:9: note: in expansion of macro 'memset'
    973 | memset(ctx->buffer + ctx->fillsize, 0,
    | ^~~~~~
    streebog_generic.c:973:19: error: 'struct streebog_state' has no member named 'buffer'
    973 | memset(ctx->buffer + ctx->fillsize, 0,
    | ^~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:503:44: note: in definition of macro '__fortify_memset_chk'
    503 | fortify_memset_chk(__fortify_size, p_size, p_size_field), \
    | ^~~~~~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:513:17: note: in expansion of macro '__struct_size'
    513 | __struct_size(p), __member_size(p))
    | ^~~~~~~~~~~~~
    streebog_generic.c:973:9: note: in expansion of macro 'memset'
    973 | memset(ctx->buffer + ctx->fillsize, 0,
    | ^~~~~~
    streebog_generic.c:973:33: error: 'struct streebog_state' has no member named 'fillsize'
    973 | memset(ctx->buffer + ctx->fillsize, 0,
    | ^~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:503:44: note: in definition of macro '__fortify_memset_chk'
    503 | fortify_memset_chk(__fortify_size, p_size, p_size_field), \
    | ^~~~~~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:513:17: note: in expansion of macro '__struct_size'
    513 | __struct_size(p), __member_size(p))
    | ^~~~~~~~~~~~~
    streebog_generic.c:973:9: note: in expansion of macro 'memset'
    973 | memset(ctx->buffer + ctx->fillsize, 0,
    | ^~~~~~
    streebog_generic.c:973:19: error: 'struct streebog_state' has no member named 'buffer'
    973 | memset(ctx->buffer + ctx->fillsize, 0,
    | ^~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:503:52: note: in definition of macro '__fortify_memset_chk'
    503 | fortify_memset_chk(__fortify_size, p_size, p_size_field), \
    | ^~~~~~~~~~~~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:513:35: note: in expansion of macro '__member_size'
    513 | __struct_size(p), __member_size(p))
    | ^~~~~~~~~~~~~ streebog_generic.c:973:9: note: in expansion of macro 'memset'
    973 | memset(ctx->buffer + ctx->fillsize, 0,
    | ^~~~~~
    streebog_generic.c:973:33: error: 'struct streebog_state' has no member named 'fillsize'
    973 | memset(ctx->buffer + ctx->fillsize, 0,
    | ^~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:503:52: note: in definition of macro '__fortify_memset_chk'
    503 | fortify_memset_chk(__fortify_size, p_size, p_size_field), \
    | ^~~~~~~~~~~~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:513:35: note: in expansion of macro '__member_size'
    513 | __struct_size(p), __member_size(p))
    | ^~~~~~~~~~~~~ streebog_generic.c:973:9: note: in expansion of macro 'memset'
    973 | memset(ctx->buffer + ctx->fillsize, 0,
    | ^~~~~~
    streebog_generic.c:973:19: error: 'struct streebog_state' has no member named 'buffer'
    973 | memset(ctx->buffer + ctx->fillsize, 0,
    | ^~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:504:29: note: in definition of macro '__fortify_memset_chk'
    504 | __underlying_memset(p, c, __fortify_size); \
    | ^
    streebog_generic.c:973:9: note: in expansion of macro 'memset'
    973 | memset(ctx->buffer + ctx->fillsize, 0,
    | ^~~~~~
    streebog_generic.c:973:33: error: 'struct streebog_state' has no member named 'fillsize'
    973 | memset(ctx->buffer + ctx->fillsize, 0,
    | ^~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:504:29: note: in definition of macro '__fortify_memset_chk'
    504 | __underlying_memset(p, c, __fortify_size); \
    | ^
    streebog_generic.c:973:9: note: in expansion of macro 'memset'
    973 | memset(ctx->buffer + ctx->fillsize, 0,
    | ^~~~~~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:503:65: warning: left-hand operand of comma expression has no effect [-Wunused-value]
    503 | fortify_memset_chk(__fortify_size, p_size, p_size_field), \
    | ^ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:512:25: note: in expansion of macro '__fortify_memset_chk'
    512 | #define memset(p, c, s) __fortify_memset_chk(p, c, s, \
    | ^~~~~~~~~~~~~~~~~~~~
    streebog_generic.c:973:9: note: in expansion of macro 'memset'
    973 | memset(ctx->buffer + ctx->fillsize, 0,
    | ^~~~~~
    streebog_generic.c:976:12: error: 'struct streebog_state' has no member named 'buffer'
    976 | ctx->buffer[ctx->fillsize] = 1;
    | ^~
    streebog_generic.c:976:24: error: 'struct streebog_state' has no member named 'fillsize'
    976 | ctx->buffer[ctx->fillsize] = 1;
    | ^~
    In file included from /usr/src/linux-headers-6.16-rc7-common/include/linux/byteorder/little_endian.h:5,
    from /usr/src/linux-headers-6.16-rc7-common/arch/x86/include/uapi/asm/byteorder.h:5,
    from /usr/src/linux-headers-6.16-rc7-common/include/linux/unaligned.h:10,
    from /usr/src/linux-headers-6.16-rc7-common/include/crypto/utils.h:10,
    from /usr/src/linux-headers-6.16-rc7-common/include/crypto/algapi.h:10:
    streebog_generic.c: In function 'streebog_stage3':
    streebog_generic.c:1034:39: error: 'struct streebog_state' has no member named 'fillsize'
    1034 | buf.qword[0] = cpu_to_le64(ctx->fillsize << 3);
    | ^~ /usr/src/linux-headers-6.16-rc7-common/include/uapi/linux/byteorder/little_endian.h:32:51: note: in definition of macro '__cpu_to_le64'
    32 | #define __cpu_to_le64(x) ((__force __le64)(__u64)(x))
    | ^ streebog_generic.c:1034:24: note: in expansion of macro 'cpu_to_le64'
    1034 | buf.qword[0] = cpu_to_le64(ctx->fillsize << 3);
    | ^~~~~~~~~~~
    streebog_generic.c:1037:54: error: 'struct streebog_state' has no member named 'buffer'
    1037 | streebog_g(&ctx->h, &ctx->N, (const u8 *)&ctx->buffer);
    | ^~ streebog_generic.c:1040:62: error: 'struct streebog_state' has no member named 'buffer'
    1040 | (const struct streebog_uint512 *)&ctx->buffer[0],
    | ^~ streebog_generic.c: In function 'streebog_update':
    streebog_generic.c:1053:16: error: 'struct streebog_state' has no member named 'fillsize'
    1053 | if (ctx->fillsize) {
    | ^~
    streebog_generic.c:1054:54: error: 'struct streebog_state' has no member named 'fillsize'
    1054 | chunksize = STREEBOG_BLOCK_SIZE - ctx->fillsize;
    | ^~ streebog_generic.c:1057:28: error: 'struct streebog_state' has no member named 'buffer'
    1057 | memcpy(&ctx->buffer[ctx->fillsize], data, chunksize);
    | ^~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:628:34: note: in definition of macro '__fortify_memcpy_chk'
    628 | const size_t __p_size = (p_size); \
    | ^~~~~~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:691:17: note: in expansion of macro '__struct_size'
    691 | __struct_size(p), __struct_size(q), \
    | ^~~~~~~~~~~~~
    streebog_generic.c:1057:17: note: in expansion of macro 'memcpy'
    1057 | memcpy(&ctx->buffer[ctx->fillsize], data, chunksize);
    | ^~~~~~
    streebog_generic.c:1057:40: error: 'struct streebog_state' has no member named 'fillsize'
    1057 | memcpy(&ctx->buffer[ctx->fillsize], data, chunksize);
    | ^~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:628:34: note: in definition of macro '__fortify_memcpy_chk'
    628 | const size_t __p_size = (p_size); \
    | ^~~~~~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:691:17: note: in expansion of macro '__struct_size'
    691 | __struct_size(p), __struct_size(q), \
    | ^~~~~~~~~~~~~
    streebog_generic.c:1057:17: note: in expansion of macro 'memcpy'
    1057 | memcpy(&ctx->buffer[ctx->fillsize], data, chunksize);
    | ^~~~~~
    streebog_generic.c:1057:28: error: 'struct streebog_state' has no member named 'buffer'
    1057 | memcpy(&ctx->buffer[ctx->fillsize], data, chunksize);
    | ^~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:630:40: note: in definition of macro '__fortify_memcpy_chk'
    630 | const size_t __p_size_field = (p_size_field); \
    | ^~~~~~~~~~~~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:692:17: note: in expansion of macro '__member_size'
    692 | __member_size(p), __member_size(q), \
    | ^~~~~~~~~~~~~
    streebog_generic.c:1057:17: note: in expansion of macro 'memcpy'
    1057 | memcpy(&ctx->buffer[ctx->fillsize], data, chunksize);
    | ^~~~~~
    streebog_generic.c:1057:40: error: 'struct streebog_state' has no member named 'fillsize'
    1057 | memcpy(&ctx->buffer[ctx->fillsize], data, chunksize);
    | ^~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:630:40: note: in definition of macro '__fortify_memcpy_chk'
    630 | const size_t __p_size_field = (p_size_field); \
    | ^~~~~~~~~~~~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:692:17: note: in expansion of macro '__member_size'
    692 | __member_size(p), __member_size(q), \
    | ^~~~~~~~~~~~~
    streebog_generic.c:1057:17: note: in expansion of macro 'memcpy'
    1057 | memcpy(&ctx->buffer[ctx->fillsize], data, chunksize);
    | ^~~~~~
    streebog_generic.c:1057:28: error: 'struct streebog_state' has no member named 'buffer'
    1057 | memcpy(&ctx->buffer[ctx->fillsize], data, chunksize);
    | ^~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:645:27: note: in definition of macro '__fortify_memcpy_chk'
    645 | __underlying_##op(p, q, __copy_size); \
    | ^
    streebog_generic.c:1057:17: note: in expansion of macro 'memcpy'
    1057 | memcpy(&ctx->buffer[ctx->fillsize], data, chunksize);
    | ^~~~~~
    streebog_generic.c:1057:40: error: 'struct streebog_state' has no member named 'fillsize'
    1057 | memcpy(&ctx->buffer[ctx->fillsize], data, chunksize);
    | ^~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:645:27: note: in definition of macro '__fortify_memcpy_chk'
    645 | __underlying_##op(p, q, __copy_size); \
    | ^
    streebog_generic.c:1057:17: note: in expansion of macro 'memcpy'
    1057 | memcpy(&ctx->buffer[ctx->fillsize], data, chunksize);
    | ^~~~~~
    streebog_generic.c:1058:20: error: 'struct streebog_state' has no member named 'fillsize'
    1058 | ctx->fillsize += chunksize;
    | ^~
    streebog_generic.c:1062:24: error: 'struct streebog_state' has no member named 'fillsize'
    1062 | if (ctx->fillsize == STREEBOG_BLOCK_SIZE) {
    | ^~
    streebog_generic.c:1063:49: error: 'struct streebog_state' has no member named 'buffer'
    1063 | streebog_stage2(ctx, ctx->buffer);
    | ^~ streebog_generic.c:1064:28: error: 'struct streebog_state' has no member named 'fillsize'
    1064 | ctx->fillsize = 0;
    | ^~
    streebog_generic.c:1075:28: error: 'struct streebog_state' has no member named 'buffer'
    1075 | memcpy(&ctx->buffer, data, len);
    | ^~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:628:34: note: in definition of macro '__fortify_memcpy_chk'
    628 | const size_t __p_size = (p_size); \
    | ^~~~~~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:691:17: note: in expansion of macro '__struct_size'
    691 | __struct_size(p), __struct_size(q), \
    | ^~~~~~~~~~~~~
    streebog_generic.c:1075:17: note: in expansion of macro 'memcpy'
    1075 | memcpy(&ctx->buffer, data, len);
    | ^~~~~~
    streebog_generic.c:1075:28: error: 'struct streebog_state' has no member named 'buffer'
    1075 | memcpy(&ctx->buffer, data, len);
    | ^~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:630:40: note: in definition of macro '__fortify_memcpy_chk'
    630 | const size_t __p_size_field = (p_size_field); \
    | ^~~~~~~~~~~~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:692:17: note: in expansion of macro '__member_size'
    692 | __member_size(p), __member_size(q), \
    | ^~~~~~~~~~~~~
    streebog_generic.c:1075:17: note: in expansion of macro 'memcpy'
    1075 | memcpy(&ctx->buffer, data, len);
    | ^~~~~~
    streebog_generic.c:1075:28: error: 'struct streebog_state' has no member named 'buffer'
    1075 | memcpy(&ctx->buffer, data, len);
    | ^~ /usr/src/linux-headers-6.16-rc7-common/include/linux/fortify-string.h:645:27: note: in definition of macro '__fortify_memcpy_chk'
    645 | __underlying_##op(p, q, __copy_size); \
    | ^
    streebog_generic.c:1075:17: note: in expansion of macro 'memcpy'
    1075 | memcpy(&ctx->buffer, data, len);
    | ^~~~~~
    streebog_generic.c:1076:20: error: 'struct streebog_state' has no member named 'fillsize'
    1076 | ctx->fillsize = len;
    | ^~
    streebog_generic.c: In function 'streebog_final':
    streebog_generic.c:1086:12: error: 'struct streebog_state' has no member named 'fillsize'
    1086 | ctx->fillsize = 0;
    | ^~
    make[3]: *** [/usr/src/linux-headers-6.16-rc7-common/scripts/Makefile.build:292: streebog_generic.o] Error 1
    make[3]: *** Waiting for unfinished jobs....
    make[2]: *** [/usr/src/linux-headers-6.16-rc7-common/Makefile:2027: .] Error 2 make[1]: *** [/usr/src/linux-headers-6.16-rc7-common/Makefile:260: __sub-make] Error 2
    make[1]: Leaving directory '/var/lib/dkms/gost-crypto/0.3.5/build'
    make: *** [/usr/src/linux-headers-6.16-rc7-common/Makefile:260: __sub-make] Error 2
    make: Leaving directory '/usr/src/linux-headers-6.16-rc7-rt-amd64'

    # exit code: 2
    # elapsed time: 00:00:04 ----------------------------------------------------------------

    This is related to Linux commit https://github.com/torvalds/linux/commit/0e2392b6513cb138e2915ad08e33ac029358e957
    "crypto: streebog - Use API partial block handling"


    Andreas

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)