crypto: api - Display larval objects properly
Herbert Xu [Mon, 4 Aug 2008 06:22:29 +0000 (14:22 +0800)]
Rather than displaying larval objects as real objects, this patch
makes them show up under /proc/crypto as of type larval.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

crypto/proc.c

index 02ff567..c6ede1e 100644 (file)
@@ -47,7 +47,7 @@ static int c_show(struct seq_file *m, void *p)
        seq_printf(m, "priority     : %d\n", alg->cra_priority);
        seq_printf(m, "refcnt       : %d\n", atomic_read(&alg->cra_refcnt));
        
-       switch (alg->cra_flags & CRYPTO_ALG_TYPE_MASK) {
+       switch (alg->cra_flags & (CRYPTO_ALG_TYPE_MASK | CRYPTO_ALG_LARVAL)) {
        case CRYPTO_ALG_TYPE_CIPHER:
                seq_printf(m, "type         : cipher\n");
                seq_printf(m, "blocksize    : %u\n", alg->cra_blocksize);
@@ -67,7 +67,10 @@ static int c_show(struct seq_file *m, void *p)
                seq_printf(m, "type         : compression\n");
                break;
        default:
-               if (alg->cra_type && alg->cra_type->show)
+               if (alg->cra_flags & CRYPTO_ALG_LARVAL) {
+                       seq_printf(m, "type         : larval\n");
+                       seq_printf(m, "flags        : 0x%x\n", alg->cra_flags);
+               } else if (alg->cra_type && alg->cra_type->show)
                        alg->cra_type->show(m, alg);
                else
                        seq_printf(m, "type         : unknown\n");