On Tue, Nov 17, 2020 at 02:07:43PM -0800, Sami Tolvanen wrote: > On Tue, Nov 17, 2020 at 1:45 PM Kees Cook <keescook@xxxxxxxxxxxx> wrote: > > > > On Tue, Nov 17, 2020 at 12:59:02PM -0800, Sami Tolvanen wrote: > > > Instead of casting callback functions to type iw_handler, which trips > > > indirect call checking with Clang's Control-Flow Integrity (CFI), add > > > stub functions with the correct function type for the callbacks. > > > > Oh, wow. iw_handler with union iwreq_data look like really nasty hacks. > > Aren't those just totally bypassing type checking? Where do the > > callbacks actually happen? I couldn't find them... > > The callbacks to these happen in ioctl_standard_call in wext-core.c. Thanks! If this is all the 'old compat' code, this patch looks fine. I think new stuff should probably encode types in some fashion (rather than via wrappers). -- Kees Cook