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

From: Kees Cook
Date: Fri Nov 15 2019 - 11:49:05 EST


On Fri, Nov 15, 2019 at 10:42:35AM +0300, Dan Carpenter wrote:
> On Fri, Nov 15, 2019 at 10:40:03AM +0300, Dan Carpenter wrote:
> > 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.
>
> Wow... Never mind. I completely misread this patch. I am ashamed.

Okay, whew. I was starting to try to wrap my brain around what you
meant and was failing badly. :)

> The patch is fine.
>
> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>

Thanks!

-Kees

>
> regards,
> dan carpenter
>

--
Kees Cook