Use setsockopt on the tfm FD to provide the authentication tag size for
an AEAD cipher. This is achieved by adding a callback function which is
intended to be used by the AEAD AF_ALG implementation.
The optlen argument of the setsockopt specifies the authentication tag
size to be used with the AEAD tfm.
Signed-off-by: Stephan Mueller <smueller@chronox.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
                        goto unlock;
 
                err = alg_setkey(sk, optval, optlen);
+               break;
+       case ALG_SET_AEAD_AUTHSIZE:
+               if (sock->state == SS_CONNECTED)
+                       goto unlock;
+               if (!type->setauthsize)
+                       goto unlock;
+               err = type->setauthsize(ask->private, optlen);
        }
 
 unlock:
 
        void (*release)(void *private);
        int (*setkey)(void *private, const u8 *key, unsigned int keylen);
        int (*accept)(void *private, struct sock *sk);
+       int (*setauthsize)(void *private, unsigned int authsize);
 
        struct proto_ops *ops;
        struct module *owner;