[bug report] crypto: algboss - Pass instance creation error up

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

 



Hello Herbert Xu,

Commit 795f85fca229 ("crypto: algboss - Pass instance creation error
up") from Sep 1, 2024 (linux-next), leads to the following Smatch
static checker warning:

	crypto/algboss.c:67 cryptomgr_probe()
	warn: passing zero to 'ERR_PTR'

crypto/algboss.c
    50 static int cryptomgr_probe(void *data)
    51 {
    52         struct cryptomgr_param *param = data;
    53         struct crypto_template *tmpl;
    54         int err = -ENOENT;
    55 
    56         tmpl = crypto_lookup_template(param->template);
    57         if (!tmpl)
    58                 goto out;
    59 
    60         do {
    61                 err = tmpl->create(tmpl, param->tb);
    62         } while (err == -EAGAIN && !signal_pending(current));
    63 
    64         crypto_tmpl_put(tmpl);
    65 
    66 out:
--> 67         param->larval->adult = ERR_PTR(err);

I wasn't able to find anything which was using this code...

This is assigned on both the success and failure paths so it means that
crypto_larval_destroy() never calls crypto_mod_put(larval->adult).  But I don't
really understand this code well so maybe there is nothing to free at this
point.

    68         param->larval->alg.cra_flags |= CRYPTO_ALG_DEAD;
    69         complete_all(&param->larval->completion);
    70         crypto_alg_put(&param->larval->alg);
    71         kfree(param);
    72         module_put_and_kthread_exit(0);
    73 }

regards,
dan carpenter




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