]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
PM: console: Fix memory allocation error handling in pm_vt_switch_required()
authorMalaya Kumar Rout <mrout@redhat.com>
Mon, 13 Oct 2025 19:30:27 +0000 (01:00 +0530)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Sat, 18 Oct 2025 12:38:23 +0000 (14:38 +0200)
commitb57100a3d9ced8c2b78e87d313f514a3338d016e
tree2fdfc07693f8a6d9e7c57bd0b60cde50c01d33e5
parent67434ce57c7eb9a250125e159cb7ef8a3f764d3f
PM: console: Fix memory allocation error handling in pm_vt_switch_required()

The pm_vt_switch_required() function fails silently when memory
allocation fails, offering no indication to callers that the operation
was unsuccessful. This behavior prevents drivers from handling allocation
errors correctly or implementing retry mechanisms. By ensuring that
failures are reported back to the caller, drivers can make informed
decisions, improve robustness, and avoid unexpected behavior during
critical power management operations.

Change the function signature to return an integer error code and modify
the implementation to return -ENOMEM when kmalloc() fails. Update both
the function declaration and the inline stub in include/linux/pm.h to
maintain consistency across CONFIG_VT_CONSOLE_SLEEP configurations.

The function now returns:
 - 0 on success (including when updating existing entries)
 - -ENOMEM when memory allocation fails

This change improves error reporting without breaking existing callers,
as the current callers in drivers/video/fbdev/core/fbmem.c already
ignore the return value, making this a backward-compatible improvement.

Reviewed-by: Lyude Paul <lyude@redhat.com>
Signed-off-by: Malaya Kumar Rout <mrout@redhat.com>
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Link: https://patch.msgid.link/20251013193028.89570-1-mrout@redhat.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
include/linux/pm.h
kernel/power/console.c