summaryrefslogtreecommitdiffstats
path: root/block/blk-wbt.h
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@google.com>2020-06-09 23:39:42 -0700
committerHerbert Xu <herbert@gondor.apana.org.au>2020-06-18 17:26:43 +1000
commitbe924e0aaa315a179c25221685e3f1a35a70156e (patch)
tree9524713d98cae7cb7c4d50d6c8961ecc032f66d5 /block/blk-wbt.h
parent57b1aac1b426b7255afa195298ed691ffea204c6 (diff)
downloadlinux-be924e0aaa315a179c25221685e3f1a35a70156e.tar.gz
linux-be924e0aaa315a179c25221685e3f1a35a70156e.tar.bz2
linux-be924e0aaa315a179c25221685e3f1a35a70156e.zip
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 <martin.petersen@oracle.com> Signed-off-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'block/blk-wbt.h')
0 files changed, 0 insertions, 0 deletions