Re: [PATCH] crypto: tcrypt - Add mode to test specified algs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux