Skip to content

Commit

Permalink
crypto: api - remove CRYPTOA_U32 and related functions
Browse files Browse the repository at this point in the history
According to the advice of Eric and Herbert, type CRYPTOA_U32
has been unused for over a decade, so remove the code related to
CRYPTOA_U32.

After removing CRYPTOA_U32, the type of the variable attrs can be
changed from union to struct.

Signed-off-by: Liu Shixin <[email protected]>
Reviewed-by: Eric Biggers <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
  • Loading branch information
Liu Shixin authored and herbertx committed Jun 17, 2021
1 parent 22ca9f4 commit 10ff997
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 49 deletions.
18 changes: 0 additions & 18 deletions crypto/algapi.c
Original file line number Diff line number Diff line change
Expand Up @@ -868,24 +868,6 @@ const char *crypto_attr_alg_name(struct rtattr *rta)
}
EXPORT_SYMBOL_GPL(crypto_attr_alg_name);

int crypto_attr_u32(struct rtattr *rta, u32 *num)
{
struct crypto_attr_u32 *nu32;

if (!rta)
return -ENOENT;
if (RTA_PAYLOAD(rta) < sizeof(*nu32))
return -EINVAL;
if (rta->rta_type != CRYPTOA_U32)
return -EINVAL;

nu32 = RTA_DATA(rta);
*num = nu32->num;

return 0;
}
EXPORT_SYMBOL_GPL(crypto_attr_u32);

int crypto_inst_setname(struct crypto_instance *inst, const char *name,
struct crypto_alg *alg)
{
Expand Down
31 changes: 6 additions & 25 deletions crypto/algboss.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,16 +28,9 @@ struct cryptomgr_param {
struct crypto_attr_type data;
} type;

union {
struct {
struct rtattr attr;
struct {
struct rtattr attr;
struct crypto_attr_alg data;
} alg;
struct {
struct rtattr attr;
struct crypto_attr_u32 data;
} nu32;
struct crypto_attr_alg data;
} attrs[CRYPTO_MAX_ATTRS];

char template[CRYPTO_MAX_ALG_NAME];
Expand Down Expand Up @@ -104,12 +97,10 @@ static int cryptomgr_schedule_probe(struct crypto_larval *larval)

i = 0;
for (;;) {
int notnum = 0;

name = ++p;

for (; isalnum(*p) || *p == '-' || *p == '_'; p++)
notnum |= !isdigit(*p);
;

if (*p == '(') {
int recursion = 0;
Expand All @@ -123,26 +114,16 @@ static int cryptomgr_schedule_probe(struct crypto_larval *larval)
break;
}

notnum = 1;
p++;
}

len = p - name;
if (!len)
goto err_free_param;

if (notnum) {
param->attrs[i].alg.attr.rta_len =
sizeof(param->attrs[i].alg);
param->attrs[i].alg.attr.rta_type = CRYPTOA_ALG;
memcpy(param->attrs[i].alg.data.name, name, len);
} else {
param->attrs[i].nu32.attr.rta_len =
sizeof(param->attrs[i].nu32);
param->attrs[i].nu32.attr.rta_type = CRYPTOA_U32;
param->attrs[i].nu32.data.num =
simple_strtol(name, NULL, 0);
}
param->attrs[i].attr.rta_len = sizeof(param->attrs[i]);
param->attrs[i].attr.rta_type = CRYPTOA_ALG;
memcpy(param->attrs[i].data.name, name, len);

param->tb[i + 1] = &param->attrs[i].attr;
i++;
Expand Down
1 change: 0 additions & 1 deletion include/crypto/algapi.h
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,6 @@ void *crypto_spawn_tfm2(struct crypto_spawn *spawn);
struct crypto_attr_type *crypto_get_attr_type(struct rtattr **tb);
int crypto_check_attr_type(struct rtattr **tb, u32 type, u32 *mask_ret);
const char *crypto_attr_alg_name(struct rtattr *rta);
int crypto_attr_u32(struct rtattr *rta, u32 *num);
int crypto_inst_setname(struct crypto_instance *inst, const char *name,
struct crypto_alg *alg);

Expand Down
5 changes: 0 additions & 5 deletions include/linux/crypto.h
Original file line number Diff line number Diff line change
Expand Up @@ -647,7 +647,6 @@ enum {
CRYPTOA_UNSPEC,
CRYPTOA_ALG,
CRYPTOA_TYPE,
CRYPTOA_U32,
__CRYPTOA_MAX,
};

Expand All @@ -665,10 +664,6 @@ struct crypto_attr_type {
u32 mask;
};

struct crypto_attr_u32 {
u32 num;
};

/*
* Transform user interface.
*/
Expand Down

0 comments on commit 10ff997

Please sign in to comment.