On Mon, Jan 23, 2017 at 10:14:03PM +0800, Herbert Xu wrote: > On Wed, Jan 18, 2017 at 05:25:00PM +0100, Rabin Vincent wrote: > > From: Rabin Vincent <rabinv@xxxxxxxx> > > tcrypt offers a bunch of mode= values to test various (groups of) > > algorithms, but there is no way provided to test a subset of the > > algorithms. This adds a new mode=2000 which interprets alg= as a > > colon-separated list of algorithms to test with alg_test(). Colon is > > used since the names may contain commas. > > > > This is useful during driver development and also for regression testing > > to avoid the errors that are otherwise generated when attempting to test > > non-enabled algorithms. > > > > # insmod tcrypt.ko dyndbg mode=2000 alg="cbc(aes):ecb(aes):hmac(sha256):sha256:xts(aes)" > > [ 649.418569] tcrypt: testing cbc(aes) > > [ 649.420809] tcrypt: testing ecb(aes) > > [ 649.422627] tcrypt: testing hmac(sha256) > > [ 649.424861] tcrypt: testing sha256 > > [ 649.426368] tcrypt: testing xts(aes) > > [ 649.430014] tcrypt: all tests passed > > > > Signed-off-by: Rabin Vincent <rabinv@xxxxxxxx> > > You can already do this with the existing mode=0 setting, no? That's what I thought so too, but that doesn't seem to be the case. The mode=0 handling is this: switch (m) { case 0: if (alg) { if (!crypto_has_alg(alg, type, mask ?: CRYPTO_ALG_TYPE_MASK)) ret = -ENOENT; break; } for (i = 1; i < 200; i++) ret += do_test(NULL, 0, 0, i); break; So, if alg= is specified, after first checking if the specified alg is present, it just goes ahead and runs all the tests. I'm not sure what mode=0 alg=foo is meant to be used for. -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html