summaryrefslogtreecommitdiff
path: root/samples/rust/rust_driver_platform.rs
diff options
context:
space:
mode:
authorAmir Mohammad Jahangirzad <a.jahangirzad@gmail.com>2025-09-23 05:01:13 +0330
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2025-09-23 15:45:28 +0200
commit496f9372eae14775e0524e83e952814691fe850a (patch)
tree65a9d751a984b2fabe729b59ce3cf90327b109a4 /samples/rust/rust_driver_platform.rs
parent07e27ad16399afcd693be20211b0dfae63e0615f (diff)
ACPI: debug: fix signedness issues in read/write helpers
In the ACPI debugger interface, the helper functions for read and write operations use "int" as the length parameter data type. When a large "size_t count" is passed from the file operations, this cast to "int" results in truncation and a negative value due to signed integer representation. Logically, this negative number propagates to the min() calculation, where it is selected over the positive buffer space value, leading to unexpected behavior. Subsequently, when this negative value is used in copy_to_user() or copy_from_user(), it is interpreted as a large positive value due to the unsigned nature of the size parameter in these functions, causing the copy operations to attempt handling sizes far beyond the intended buffer limits. Address the issue by: - Changing the length parameters in acpi_aml_read_user() and acpi_aml_write_user() from "int" to "size_t", aligning with the expected unsigned size semantics. - Updating return types and local variables in acpi_aml_read() and acpi_aml_write() to "ssize_t" for consistency with kernel file operation conventions. - Using "size_t" for the "n" variable to ensure calculations remain unsigned. - Using min_t() for circ_count_to_end() and circ_space_to_end() to ensure type-safe comparisons and prevent integer overflow. Signed-off-by: Amir Mohammad Jahangirzad <a.jahangirzad@gmail.com> Link: https://patch.msgid.link/20250923013113.20615-1-a.jahangirzad@gmail.com [ rjw: Changelog tweaks, local variable definitions ordering adjustments ] Fixes: 8cfb0cdf07e2 ("ACPI / debugger: Add IO interface to access debugger functionalities") Cc: 4.5+ <stable@vger.kernel.org> # 4.5+ Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'samples/rust/rust_driver_platform.rs')
0 files changed, 0 insertions, 0 deletions