diff options
author | Arnd Bergmann <arnd@arndb.de> | 2024-02-22 13:44:06 +0100 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2024-02-26 21:16:48 -0500 |
commit | b69600231f751304db914c63b937f7098ed2895c (patch) | |
tree | 5437f1e4c681c83fad5cfd650bf134855446fb12 /drivers/scsi/jazz_esp.c | |
parent | c121b588a5e46e14bc601e717461b908a1d80185 (diff) | |
download | linux-b69600231f751304db914c63b937f7098ed2895c.tar.gz linux-b69600231f751304db914c63b937f7098ed2895c.tar.bz2 linux-b69600231f751304db914c63b937f7098ed2895c.zip |
scsi: bfa: Fix function pointer type mismatch for hcb_qe->cbfn
Some callback functions used here take a boolean argument, others take a
status argument. This breaks KCFI type checking, so clang now warns about
the function pointer cast:
drivers/scsi/bfa/bfad_bsg.c:2138:29: error: cast from 'void (*)(void *, enum bfa_status)' to 'bfa_cb_cbfn_t' (aka 'void (*)(void *, enum bfa_boolean)') converts to incompatible function type [-Werror,-Wcast-function-type-strict]
Assuming the code is actually correct here and the callers always match the
argument types of the callee, rework this to replace the explicit cast with
a union of the two pointer types. This does not change the behavior of the
code, so if something is actually broken here, a larger rework may be
necessary.
Fixes: 37ea0558b87a ("[SCSI] bfa: Added support to collect and reset fcport stats")
Fixes: 3ec4f2c8bff2 ("[SCSI] bfa: Added support to configure QOS and collect stats.")
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://lore.kernel.org/r/20240222124433.2046570-1-arnd@kernel.org
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/jazz_esp.c')
0 files changed, 0 insertions, 0 deletions