Skip to content

Commit aee4744

Browse files
samitolvanenpundiramit
authored andcommitted
cfi: print target address on failure
Bug: 78862212 Bug: 67506682 Change-Id: Ifaa3e3f8fc5f19649f4857d185d50383b4a89055 Signed-off-by: Sami Tolvanen <[email protected]>
1 parent a9f1777 commit aee4744

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

Diff for: kernel/cfi.c

+8-8
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@
2424
#define cfi_slowpath_handler __cfi_slowpath
2525
#endif /* CONFIG_CFI_PERMISSIVE */
2626

27-
static inline void handle_cfi_failure()
27+
static inline void handle_cfi_failure(void *ptr)
2828
{
2929
#ifdef CONFIG_CFI_PERMISSIVE
30-
WARN_RATELIMIT(1, "CFI failure:\n");
30+
WARN_RATELIMIT(1, "CFI failure (target: [<%px>] %pF):\n", ptr, ptr);
3131
#else
32-
pr_err("CFI failure:\n");
32+
pr_err("CFI failure (target: [<%px>] %pF):\n", ptr, ptr);
3333
BUG();
3434
#endif
3535
}
@@ -283,18 +283,18 @@ void cfi_slowpath_handler(uint64_t id, void *ptr, void *diag)
283283
if (likely(check))
284284
check(id, ptr, diag);
285285
else /* Don't allow unchecked modules */
286-
handle_cfi_failure();
286+
handle_cfi_failure(ptr);
287287
}
288288
EXPORT_SYMBOL(cfi_slowpath_handler);
289289
#endif /* CONFIG_MODULES */
290290

291-
void cfi_failure_handler(void *data, void *value, void *vtable)
291+
void cfi_failure_handler(void *data, void *ptr, void *vtable)
292292
{
293-
handle_cfi_failure();
293+
handle_cfi_failure(ptr);
294294
}
295295
EXPORT_SYMBOL(cfi_failure_handler);
296296

297-
void __cfi_check_fail(void *data, void *value)
297+
void __cfi_check_fail(void *data, void *ptr)
298298
{
299-
handle_cfi_failure();
299+
handle_cfi_failure(ptr);
300300
}

0 commit comments

Comments
 (0)