diff options
author | Eric Biggers <ebiggers@google.com> | 2019-03-18 10:13:24 -0700 |
---|---|---|
committer | Petr Vorel <pvorel@suse.cz> | 2019-03-18 20:07:43 +0100 |
commit | 11f34510bf5b9d72ee1f9a740d8e15212837525d (patch) | |
tree | 2d914b3a9163ae926ae949d7afd782503876b218 /testcases/kernel | |
parent | 6d7ddca878e431c1efeb2053a50ca07da3fee203 (diff) |
crypto/af_alg02: new regression test for salsa20 empty message bug
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Petr Vorel <pvorel@suse.cz>
Diffstat (limited to 'testcases/kernel')
-rw-r--r-- | testcases/kernel/crypto/.gitignore | 1 | ||||
-rw-r--r-- | testcases/kernel/crypto/af_alg02.c | 29 |
2 files changed, 30 insertions, 0 deletions
diff --git a/testcases/kernel/crypto/.gitignore b/testcases/kernel/crypto/.gitignore index 998af1728..dc79f3275 100644 --- a/testcases/kernel/crypto/.gitignore +++ b/testcases/kernel/crypto/.gitignore @@ -1,3 +1,4 @@ af_alg01 +af_alg02 pcrypt_aead01 crypto_user01 diff --git a/testcases/kernel/crypto/af_alg02.c b/testcases/kernel/crypto/af_alg02.c new file mode 100644 index 000000000..a9e820423 --- /dev/null +++ b/testcases/kernel/crypto/af_alg02.c @@ -0,0 +1,29 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright 2019 Google LLC + */ + +/* + * Regression test for commit ecaaab564978 ("crypto: salsa20 - fix + * blkcipher_walk API usage"), or CVE-2017-17805. This test verifies that an + * empty message can be encrypted with Salsa20 without crashing the kernel. + */ + +#include "tst_test.h" +#include "tst_af_alg.h" + +static void run(void) +{ + char buf[16]; + int reqfd = tst_alg_setup_reqfd("skcipher", "salsa20", NULL, 16); + + /* With the bug the kernel crashed here */ + if (read(reqfd, buf, 16) == 0) + tst_res(TPASS, "Successfully \"encrypted\" an empty message"); + else + tst_res(TBROK, "read() didn't return 0"); +} + +static struct tst_test test = { + .test_all = run, +}; |