Public bug reported:
[Impact]
Ubuntu commit aae817ffb114 "crypto: testmgr - add AES-CFB tests" added
new test cases to the crypto self-tests. This patch is referring to
structure members that don't exist in Bionic because the large mainline
clean up patch 92a4c9fef34c crypto: "testmgr - eliminate redundant
decryption test vectors" has not been backported.
As a result, Bionic will fail to build if the crypto self tests are
enabled in the kernel config. This build failure was noticed when
building a derivative kernel.
This mainline patch is a massive refactoring, complete with the updated
structure definitions that will resolve the build failure:
92a4c9fef34c "crypto: testmgr - eliminate redundant decryption test
vectors"
Furthermore, once the pre-requisite patch is backported, the CFB module
also needs to be backported as the new tests added by Ubuntu commit
aae817ffb114 "crypto: testmgr - add AES-CFB tests" will attempt to load
that module at runtime to execute its tests.
The primary argument for the inclusion of this backport would be that we
would not have to amend future crypto test case additions as they come
in via stable update sync to use the "older" code structure.
[Test Case]
On a Bionic kernel, ensure "CONFIG_CRYPTO_MANAGER_DISABLE_TESTS" is NOT
set and ensure you have the patch in your tree (master-next should have
it as of this writing it has not been reverted).
To disable that config option, edit
debian.master/config/config.common.ubuntu and delete the line that
reads "CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y" then update the configs
with "fakeroot debian/rules updateconfigs"
Build the kernel.
Expected result: crypto/testmgr.o is built successfully and so is the
rest of the kernel for your build.
Actual result: crypto/testmgr.o fails to build with several errors
related to data members of a structure that don't exist yet. Like this:
/tmp/kernel-connork-cb14cb8-q7j8/build/crypto/testmgr.h:16148:4: error: 'const
struct cipher_testvec' has no member named 'ptext'
.ptext = "\x6b\xc1\xbe\xe2\x2e\x40\x9f\x96"
^~~~~
/tmp/kernel-connork-cb14cb8-q7j8/build/crypto/testmgr.h:16156:4: error: 'const
struct cipher_testvec' has no member named 'ctext'
.ctext = "\x3b\x3f\xd9\x2e\xb7\x2d\xad\x20"
^~~~~
/tmp/kernel-connork-cb14cb8-q7j8/build/crypto/testmgr.h:16164:4: error: 'const
struct cipher_testvec' has no member named 'len'; did you mean 'klen'?
.len = 64,
[Testing]
After backporting the pre-requisite refactor patch and the CFB module
that the new tests depend on, I compiled and booted into the kernel and
ran the Crypto test suite by loading the "tcrypt" module. I compared the
test suite results with a Bionic kernel that does NOT have this backport
and confirmed they both emitted the same test results from the crypto
self tests:
[ 15.536400] alg: hash: Failed to load transform for hmac(crc32): -2
[ 15.552214] alg: cprng: Failed to load transform for ansi_cprng: -2
[ 15.590773] tcrypt: one or more tests failed!
No new test failures have been added as a result of this backport.
[Regression Potential]
There is a chance for breakage within the test suite because the primary
patch that resolves this build failure, 92a4c9fef34c "crypto: testmgr -
eliminate redundant decryption test vectors" is not practical to review.
However, this backport was accomplished with the very same awk script
supplied by the original patch author and the results between one kernel
and a modified kernel are consistent.
** Affects: linux (Ubuntu)
Importance: Undecided
Status: Invalid
** Affects: linux (Ubuntu Bionic)
Importance: Medium
Assignee: Connor Kuehl (connork)
Status: In Progress
** Also affects: linux (Ubuntu Bionic)
Importance: Undecided
Status: New
** Changed in: linux (Ubuntu)
Status: New => Invalid
** Changed in: linux (Ubuntu Bionic)
Status: New => In Progress
** Changed in: linux (Ubuntu Bionic)
Importance: Undecided => Medium
** Changed in: linux (Ubuntu Bionic)
Assignee: (unassigned) => Connor Kuehl (connork)
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1841264
Title:
crypto/testmgr.o fails to build due to struct cipher_testvec not
having data members: ctext, ptext, len
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1841264/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs