On Thu, Nov 14, 2019 at 09:39:00PM -0800, Kees Cook wrote: > In order to make the entire kernel usable under Clang's Control Flow > Integrity protections, function prototype casts need to be avoided > because this will trip CFI checks at runtime (i.e. a mismatch between > the caller's expected function prototype and the destination function's > prototype). Many of these cases can be found with -Wcast-function-type, > which found that the rtl wifi drivers had a bunch of needless function > casts. Remove function casts for tasklet callbacks in the various drivers. > > Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Clang should treat void pointers as a special case. If void pointers are bad, surely replacing them with unsigned long is even more ambigous and worse. regards, dan carpenter