]> Git Repo - linux.git/commit
crc-t10dif: use fallback in initial state
authorEric Biggers <[email protected]>
Wed, 10 Jun 2020 06:39:42 +0000 (23:39 -0700)
committerHerbert Xu <[email protected]>
Thu, 18 Jun 2020 07:26:43 +0000 (17:26 +1000)
commitbe924e0aaa315a179c25221685e3f1a35a70156e
tree9524713d98cae7cb7c4d50d6c8961ecc032f66d5
parent57b1aac1b426b7255afa195298ed691ffea204c6
crc-t10dif: use fallback in initial state

Currently the crc-t10dif module starts out with the fallback disabled
and crct10dif_tfm == NULL.  crc_t10dif_mod_init() tries to allocate
crct10dif_tfm, and if it fails it enables the fallback.

This is backwards because it means that any call to crc_t10dif() prior
to module_init (which could theoretically happen from built-in code)
will crash rather than use the fallback as expected.  Also, it means
that if the initial tfm allocation fails, then the fallback stays
permanently enabled even if a crct10dif implementation is loaded later.

Change it to use the more logical solution of starting with the fallback
enabled, and disabling the fallback when a tfm gets allocated for the
first time.  This change also ends up simplifying the code.

Also take the opportunity to convert the code to use the new static_key
API, which is much less confusing than the old and deprecated one.

Cc: Martin K. Petersen <[email protected]>
Signed-off-by: Eric Biggers <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
lib/crc-t10dif.c
This page took 0.052764 seconds and 4 git commands to generate.