android_kernel_motorola_sm6375/drivers/input
Repository files (latest commit first)
Filename Latest commit message Latest commit date
LuK1337 aba9e36d0f
input: fingerprint: etxxx: Fix CFI failure on module init
[    2.458802] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000010
[    2.459516] Internal error: Oops: 96000005 [#1] PREEMPT SMP
[    2.459788] Modules linked in: ec617_drv(+) wcd9xxx_dlkm(+) bolero_cdc_dlkm(+) mbhc_dlkm stub_dlkm q6_dlkm adsp_loader_dlkm leds_aw2016 wcd937x_slave_dlkm rdbg focaltech_fts sec_ts_drv(+) p73 btpower apr_dlkm wcd938x_slave_dlkm wsa881x_analog_dlkm bu520x1nvx q6_notifier_dlkm rmnet_shs wcd_core_dlkm rmnet_offload q6_pdr_dlkm haptic snd_event_dlkm rmnet_core swr_dlkm rmnet_ctl snx0
[    2.460075] CPU: 2 PID: 546 Comm: modprobe Tainted: G S                5.4.302-qgki-g3972ebf038eb #3
[    2.460221] Hardware name: Sony Mobile Communications. PDX225(BLAIR v4) (DT)
[    2.460285] pstate: 80400005 (Nzcv daif +PAN -UAO)
[    2.460398] pc : __cfi_check_fail+0x4/0x50 [ec617_drv]
[    2.460457] lr : __cfi_check+0x1ac/0x1e0 [ec617_drv]
[    2.460912] x21: 02b3a43e29242445 x20: 0000000000000010
[    2.462187] Call trace:
[    2.462240]  __cfi_check_fail+0x4/0x50 [ec617_drv]
[    2.462332]  __cfi_slowpath+0x10c/0x168
[    2.462383]  do_one_initcall+0x1dc/0x384
[    2.462435]  do_init_module+0x4c/0x204
[    2.462522]  load_module+0x1734/0x18c0
[    2.462569]  __arm64_sys_finit_module+0xb4/0xf0
[    2.462617]  el0_svc_common+0xc0/0x1a8
[    2.462698]  el0_svc_handler+0x24/0x70
[    2.462745]  el0_svc+0x8/0x100
[    2.462877] ---[ end trace 711a96c503b0de92 ]---
[    2.481911] Kernel panic - not syncing: Fatal exception

module_init()/module_exit() define init_module/cleanup_module as aliases
of the given functions. With clang r584948 and cross-DSO CFI, such an
alias only gets its own jump table entry when the aliasee has internal
linkage. Since egisfp_init()/egisfp_exit() were declared non-static,
modpost ended up pointing __this_module.init at the raw .init.text
address instead of init_module.cfi_jt:

  R_AARCH64_ABS64  init_module + 0
  R_AARCH64_ABS64  cleanup_module + 0

__cfi_check() then compared the initcall pointer (type id
02b3a43e29242445) against egisfp_init.cfi_jt, failed, and jumped to
__cfi_check_fail(), which faulted while dereferencing its bogus diag
argument.

Make both functions static, as they should have been in the first place.
The relocations now resolve to the jump table:

  R_AARCH64_ABS64  init_module.cfi_jt + 0
  R_AARCH64_ABS64  cleanup_module.cfi_jt + 0

Assisted-by: ClaudeCode:claude-opus-5
Change-Id: I3bf5a698bc5103e1fe0ae13e4c9c52cad9b41c7e
2026-08-30 21:48:49 +03:00
..
gameport
joystick Input: xpad - set correct controller type for Acer NGR200 2025-08-28 16:21:14 +02:00
keyboard Input: cros_ec_keyb - fix an invalid memory access 2025-12-03 12:45:19 +01:00
misc input: fingerprint: etxxx: Fix CFI failure on module init 2026-08-30 21:48:49 +03:00
mouse Input: synaptics - enable InterTouch on TUXEDO InfinityBook Pro 14 v5 2025-06-04 14:32:29 +02:00
rmi4 Input: synaptics-rmi - fix crash with unsupported versions of F34 2025-06-27 11:02:49 +01:00
serio BACKPORT: maccess: rename probe_kernel_{read,write} to copy_{from,to}_kernel_nofault 2026-01-14 18:13:21 -08:00
tablet Input: pegasus-notetaker - fix potential out-of-bounds access 2025-12-03 12:45:22 +01:00
touchscreen treewide: Setup inline build for ibiza modules 2026-05-28 02:36:11 +03:00
apm-power.c
evbug.c
evdev.c
ff-core.c Input: ff-core - prefer struct_size over open coded arithmetic 2024-07-18 11:40:48 +02:00
ff-memless.c
input-compat.c
input-compat.h
input-leds.c
input-mt.c Input: MT - limit max slots 2024-09-04 13:15:01 +02:00
input-polldev.c
input-poller.c
input-poller.h
input.c Input: try trimming too long modalias strings 2024-07-05 09:08:16 +02:00
joydev.c
Kconfig
Makefile
matrix-keymap.c
mousedev.c
sparse-keymap.c