Re: [RESEND][PATCH 0/3] module: Do not paper over type mismatches in module_param_call()

From: Arnd Bergmann
Date: Wed Oct 18 2017 - 06:12:17 EST


On Wed, Oct 18, 2017 at 4:04 AM, Kees Cook <keescook@xxxxxxxxxxxx> wrote:
> (re-sending to Jessica's @korg address...)
>
> The module_param_call() macro was explicitly casting the .set and .get
> function prototypes away with (void *). This can lead to hard-to-find
> type mismatches. Additionally, it creates problems for static checkers
> and Control Flow Itegrity compiler features, which depend on clustering
> function call sites based on prototype signature.
>
> This removes the casts and fixes all the incorrect prototypes tree-wide.

I've applied the patch to my randconfig test setup, will let you know if I find
any regressions today.

I did notice that patch 2 has a conflict against the ipmi driver, I had to
manuall port that one part. Splitting up patch 2 would help there, but
complicates other things.

Arnd