Re: [PATCH] crypto: testmgr: Allow different compression results

From: Jan Glauber
Date: Thu Apr 19 2018 - 07:58:58 EST


On Thu, Apr 19, 2018 at 11:42:11AM +0800, Herbert Xu wrote:
> On Wed, Apr 11, 2018 at 08:28:32PM +0200, Jan Glauber wrote:
> >
> > @@ -1362,7 +1373,17 @@ static int test_comp(struct crypto_comp *tfm,
> > goto out;
> > }
> >
> > - if (dlen != ctemplate[i].outlen) {
> > + ilen = dlen;
> > + dlen = COMP_BUF_SIZE;
> > + ret = crypto_comp_decompress(tfm, output,
> > + ilen, decomp_output, &dlen);
> > + if (ret) {
> > + pr_err("alg: comp: compression failed: decompress: on test %d for %s failed: ret=%d\n",
> > + i + 1, algo, -ret);
> > + goto out;
> > + }
> > +
> > + if (dlen != ctemplate[i].inlen) {
> > printk(KERN_ERR "alg: comp: Compression test %d "
> > "failed for %s: output len = %d\n", i + 1, algo,
> > dlen);
>
> Your patch is fine as it is.
>
> But I just thought I'd mention that if anyone wants to we should
> really change this to use a different tfm, e.g., always use the
> generic algorithm to perform the decompression. This way if there
> were multiple implementations we can at least test them against
> the generic one.
>
> Otherwise you could end up with a buggy implementation that works
> against itself but still generates incorrect output.

Nice idea. Would a crypto_alloc_cipher("deflate", ...) pick the generic
implementation or how can we select it?

--Jan