Re: crypto: user - crypto_alg_match removal

From: Steffen Klassert
Date: Mon Nov 24 2014 - 02:23:01 EST


Hi Stephan.

On Sat, Nov 22, 2014 at 11:25:05PM +0100, Stephan Mueller wrote:
> Hi Steffen, Herbert,
>
> may I ask for the reasons why crypto_alg_match exists? Doesn't it
> implement crypto_alg_lookup -- and that not even complete? Is there a
> particular reason why this exact flag of crypto_alg_match is really
> needed in the context of crypto_user?
>
> Unless there is such valid reason, may I ask whether we can remove
> crypto_alg_match and simply use crypto_alg_lookup in all instances where
> crypto_alg_match is invoked using the following replacement:
>
> alg = crypto_alg_lookup(p->cru_name, p->cru_type, p->cru_mask)
>
> The only problem with this replacement is that p->cru_driver_name is not
> considered with that.

With crypto_alg_lookup() we don't know whether the match is based on
the driver or the algorithm name. That's why we have crypto_alg_match(),
here we can ask for a driver or an algorithm match. In some situations it
is important to have an exact match on the crypto driver name. For example
if a user wants to instantiate or delete a certain inplementation of an
algorithm. In this case we need to know whether this exact algorithm
driver is registered in the system.

> Do you think a double invocation of
> crypto_alg_lookup should be done or that even the user space interface
> should be changed such that cru_driver_name is removed from it?

Whatever we do, we can't remove cru_driver_name as this is exported
to userspace and tools already use it.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/