mirror of
https://github.com/torvalds/linux.git
synced 2026-11-15 06:37:17 +01:00
When building with -Wincompatible-function-pointer-types-strict, a
warning designed to catch kernel control flow integrity (kCFI) issues at
build time, there is an instance in the new tiny DRM pixpaper driver:
drivers/gpu/drm/tiny/pixpaper.c:982:16: error: incompatible function pointer types initializing 'enum drm_mode_status (*)(struct drm_crtc *, const struct drm_display_mode *)' with an expression of type 'int (struct drm_crtc *, const struct drm_display_mode *)' [-Werror,-Wincompatible-function-pointer-types-strict]
982 | .mode_valid = pixpaper_mode_valid,
| ^~~~~~~~~~~~~~~~~~~
While 'int' and 'enum drm_mode_status' are ABI compatible, hence no
regular warning from -Wincompatible-function-pointer-types, the mismatch
will trigger a kCFI violation when pixpaper_mode_valid() is called
indirectly.
Update the return type of pixpaper_mode_valid() to be
'enum drm_mode_status' to clear up the warning and kCFI violation.
Fixes:
|
||
|---|---|---|
| .. | ||
| appletbdrm.c | ||
| arcpgu.c | ||
| bochs.c | ||
| cirrus-qemu.c | ||
| gm12u320.c | ||
| hx8357d.c | ||
| ili9163.c | ||
| ili9225.c | ||
| ili9341.c | ||
| ili9486.c | ||
| Kconfig | ||
| Makefile | ||
| mi0283qt.c | ||
| panel-mipi-dbi.c | ||
| pixpaper.c | ||
| repaper.c | ||
| sharp-memory.c | ||