From: Axel Lin <axel.lin@xxxxxxxxx> In the case of no match ( hotk->model == END_MODEL ), model sholud be kfreed before return AE_OK. This patch includes below fixes: 1. adds a missing kfree(model) before return AE_OK. 2. asus_hotk_get_info should return int, thus return 0 instead of AE_OK. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxx> Cc: Corentin Chary <corentincj@xxxxxxxxxx> Cc: Karol Kozimor <sziwan@xxxxxxxxxxxxxxxxxxxxx> Cc: Matthew Garrett <mjg@xxxxxxxxxx> Cc: Len Brown <len.brown@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/platform/x86/asus_acpi.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff -puN drivers/platform/x86/asus_acpi.c~asus_acpi-fix-a-memory-leak-in-asus_hotk_get_info drivers/platform/x86/asus_acpi.c --- a/drivers/platform/x86/asus_acpi.c~asus_acpi-fix-a-memory-leak-in-asus_hotk_get_info +++ a/drivers/platform/x86/asus_acpi.c @@ -1340,7 +1340,8 @@ static int asus_hotk_get_info(void) return -ENODEV; } hotk->methods = &model_conf[hotk->model]; - return AE_OK; + kfree(model); + return 0; } hotk->methods = &model_conf[hotk->model]; printk(KERN_NOTICE " %s model detected, supported\n", string); @@ -1374,7 +1375,7 @@ static int asus_hotk_get_info(void) kfree(model); - return AE_OK; + return 0; } static int asus_hotk_check(void) _ -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html