Am Freitag, 5. Dezember 2014, 23:46:06 schrieb Herbert Xu:

Hi Herbert,

> > +static struct proto_ops algif_aead_ops = {
> > +   .family         =       PF_ALG,
> > +
> > +   .connect        =       sock_no_connect,
> > +   .socketpair     =       sock_no_socketpair,
> > +   .getname        =       sock_no_getname,
> > +   .ioctl          =       sock_no_ioctl,
> > +   .listen         =       sock_no_listen,
> > +   .shutdown       =       sock_no_shutdown,
> > +   .getsockopt     =       sock_no_getsockopt,
> > +   .mmap           =       sock_no_mmap,
> > +   .bind           =       sock_no_bind,
> > +   .accept         =       sock_no_accept,
> > +
> > +   .release        =       af_alg_release,
> > +   .sendmsg        =       aead_sendmsg,
> > +   .sendpage       =       aead_sendpage,
> > +   .recvmsg        =       aead_recvmsg,
> > +   .poll           =       aead_poll,
> > +   .setsockopt     =       aead_setsockopt,
> 
> No it should go into the parent setsockopt.  Perhaps add a setsockopt
> to af_alg_type in order to keep this out of the generic code.

What about adding a setauthsize to af_alg_type that is called from the parent 
setsockopt? I would like to keep all user space interfaces as close together 
as possible. With a new setsockopt callback, I fear that user space interface 
handling may be scattered around.

Currently I am simply thinking about the following:

partent setsockopt:

        case ALG_SET_AEAD_AUTHSIZE:
                if (sock->state == SS_CONNECTED)
                        goto unlock;
                if (!type->setauthsize)
                        goto unlock;
                err = type->setauthsize(ask->private, optlen);

af_alg_type:

int (*setauthsize)(void *private, unsigned int authsize);

-- 
Ciao
Stephan
--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to