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

Kees Cook keescook at chromium.org
Fri Nov 15 16:48:55 UTC 2019


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 at chromium.org>
> > 
> > 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 at oracle.com>

Thanks!

-Kees

> 
> regards,
> dan carpenter
> 

-- 
Kees Cook


More information about the devel mailing list