Re: [PATCH] staging: rtl*: Remove tasklet callback casts

From: Dan Carpenter
Date: Fri Nov 15 2019 - 02:43:42 EST


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