Re: [RFC] crypto: passing configuration parameters to comp algos

From: Eric Biggers
Date: Mon Apr 29 2024 - 23:19:01 EST


On Tue, Apr 30, 2024 at 12:04:47PM +0900, Sergey Senozhatsky wrote:
> Hi,
>
> We'd like to be able to pass algorithm-specific parameters to
> comp backends. As of this moment, crypto usees hard-coded default
> values and does not permit any run-time algorithm configuration,
> which in some cases simply disables the most interesting functionality.
> E.g. zstd can be configured to use a pre-trained (in the user-space)
> compression dictionary, which significantly changes algorithms
> characteristics. Another, obvious and trivial example, is algorithms
> compression level.
>
> The problem is that we need to pass params to cra_init() function,
> because for some algorithms that's the only place where configuration
> can take place (e.g. zstd). Changing cra_init() to accept additional
> `struct crypto_comp_params` looks to be a little intrusive so before
> I write any patches I'd like to hear your thoughts.
>

Have you considered just using the zstd library (<linux/zstd.h>) directly?

Which kernel subsystem are you working on that uses compression?

- Eric