Messages in this thread | | | Date | Sat, 29 Oct 2022 00:12:26 -0700 | From | Kees Cook <> | Subject | Re: [PATCH v2 5/6] bna: Avoid clashing function prototypes |
| |
On Thu, Oct 27, 2022 at 03:20:47PM -0500, Gustavo A. R. Silva wrote: > When built with Control Flow Integrity, function prototypes between > caller and function declaration must match. These mismatches are visible > at compile time with the new -Wcast-function-type-strict in Clang[1]. > > Fix a total of 227 warnings like these: > > drivers/net/ethernet/brocade/bna/bna_enet.c:519:3: warning: cast from 'void (*)(struct bna_ethport *, enum bna_ethport_event)' to 'bfa_fsm_t' (aka 'void (*)(void *, int)') converts to incompatible function type [-Wcast-function-type-strict] > bfa_fsm_set_state(ethport, bna_ethport_sm_down); > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > The bna state machine code heavily overloads its state machine functions, > so these have been separated into their own sets of structs, enums, > typedefs, and helper functions. There are almost zero binary code changes, > all seem to be related to header file line numbers changing, or the > addition of the new stats helper.
This looks like it borrowed from https://lore.kernel.org/linux-hardening/20220929230334.2109344-1-keescook@chromium.org/ Nice to get a couple hundred more fixed. :)
> [1] https://reviews.llvm.org/D134831 > Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> > --- > Changes in v2: > - None. This patch is new in the series.
This is relatively stand-alone (not an iw_handler patch), so it could also go separately too.
Reviewed-by: Kees Cook <keescook@chromium.org>
-- Kees Cook
| |