diff options
author | Kees Cook <keescook@chromium.org> | 2022-10-08 02:07:58 +0200 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2022-10-17 16:41:25 +0200 |
commit | 8e5bad7dccec2014f24497b57d8a8ee0b752c290 (patch) | |
tree | d18b45af3c25c8293dae29cf8300c407a0fb5c20 /kernel/dma | |
parent | sched/core: Fix comparison in sched_group_cookie_match() (diff) | |
download | linux-8e5bad7dccec2014f24497b57d8a8ee0b752c290.tar.xz linux-8e5bad7dccec2014f24497b57d8a8ee0b752c290.zip |
sched: Introduce struct balance_callback to avoid CFI mismatches
Introduce distinct struct balance_callback instead of performing function
pointer casting which will trip CFI. Avoids warnings as found by Clang's
future -Wcast-function-type-strict option:
In file included from kernel/sched/core.c:84:
kernel/sched/sched.h:1755:15: warning: cast from 'void (*)(struct rq *)' to 'void (*)(struct callback_head *)' converts to incompatible function type [-Wcast-function-type-strict]
head->func = (void (*)(struct callback_head *))func;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
No binary differences result from this change.
This patch is a cleanup based on Brad Spengler/PaX Team's modifications
to sched code in their last public patch of grsecurity/PaX based on my
understanding of the code. Changes or omissions from the original code
are mine and don't reflect the original grsecurity/PaX code.
Reported-by: Sami Tolvanen <samitolvanen@google.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Link: https://github.com/ClangBuiltLinux/linux/issues/1724
Link: https://lkml.kernel.org/r/20221008000758.2957718-1-keescook@chromium.org
Diffstat (limited to 'kernel/dma')
0 files changed, 0 insertions, 0 deletions