In the cm_write() function, memory is allocated, and at the end of the function when uncopied_bytes is 0, the memory is freed. If uncopied_bytes is not equal to 0, a memory leak occurs. Signed-off-by: shiqiang.deng <shiqiang.deng213@xxxxxxxxx> --- drivers/acpi/custom_method.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/acpi/custom_method.c b/drivers/acpi/custom_method.c index d39a9b474727..5103c7c3a6ce 100644 --- a/drivers/acpi/custom_method.c +++ b/drivers/acpi/custom_method.c @@ -77,6 +77,9 @@ static ssize_t cm_write(struct file *file, const char __user *user_buf, if (ACPI_FAILURE(status)) return -EINVAL; add_taint(TAINT_OVERRIDDEN_ACPI_TABLE, LOCKDEP_NOW_UNRELIABLE); + } else { + kfree(buf); + buf = NULL; } return count; -- 2.30.0