crypto: tcrypt - fix return value for multiple subtests
authorRobert Elliott <elliott@hpe.com>
Fri, 30 Sep 2022 21:40:14 +0000 (16:40 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 31 Dec 2022 12:32:30 +0000 (13:32 +0100)
commit7b5bc00a59efb3e74edeecc7b0b5c8983f87149f
tree5f697141729d85f3fd3d33a7fd8b6752a9ec4cfe
parent51592cf716825faac5149187d7d594bbc1e06ea7
crypto: tcrypt - fix return value for multiple subtests

[ Upstream commit 65c92cbb3f2365627a10cf97560d51e88fb4e588 ]

When a test mode invokes multiple tests (e.g., mode 0 invokes modes
1 through 199, and mode 3 tests three block cipher modes with des),
don't keep accumulating the return values with ret += tcrypt_test(),
which results in a bogus value if more than one report a nonzero
value (e.g., two reporting -2 (-ENOENT) end up reporting -4 (-EINTR)).
Instead, keep track of the minimum return value reported by any
subtest.

Fixes: 4e033a6bc70f ("crypto: tcrypt - Do not exit on success in fips mode")
Signed-off-by: Robert Elliott <elliott@hpe.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
crypto/tcrypt.c