lkml.org 
[lkml]   [2009]   [Nov]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH]crypto: Fix algorithm and driver duplicate registered
> On Mon, Nov 23, 2009 at 12:47:24PM -0500, Youquan,Song wrote:
> >
> > The alg->cra_name and alg->cra_driver_name, from the description,
> > cra_name is the algorithm name and cra_driver_name is the driver name.
>
> For each algorithm you may have an arbitrary number of drivers
> implementing it. The driver name must be unique. However,
> duplicates are allowed so that a new version of a driver may
> be loaded while the older instances of it are still in use.
>
> > But when I read the code, I often get confuse about these two names.
> > They often mix each other.
> >
> > Can you give me some instruction about them? or Can we make them more clear? Thanks.
>
> Well can you tell me what exactly confuses you?

Thanks.
For example:

struct crypto_alg *crypto_larval_lookup(const char *name, u32 type, u32
mask)

The parameter "name", sometime it is "alg->cra_name" while sometime it
become "alg->cra_driver_name". What's to lookup, algorithm or driver, depends on
the context of parameter, So it need confirm no duplicate name exists between
cra_driver_name and cra_name. Therefore, there are some werid checking needed,
such as following:

if (!strcmp(q->cra_driver_name, alg->cra_name) ||
!strcmp(q->cra_name, alg->cra_driver_name))


I wonder, Can we define two functions: one lookup algorithm other lookup
driver? It will be more clear.


Thanks.


\
 
 \ /
  Last update: 2009-11-25 04:01    [W:0.047 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site