Skip to contentSkip to conversation

Patch "ACPI / sysfs: fix error code in get_status()" has been added to the 4.4-stable tree

PATCH [email protected] 1 participant 1 message Sep 5, 2016

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

ACPI / sysfs: fix error code in get_status()

to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
acpi-sysfs-fix-error-code-in-get_status.patch
and it can be found in the queue-4.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From f18ebc211e259d4f591e39e74b2aa2de226c9a1d Mon Sep 17 00:00:00 2001

From: Dan Carpenter <[email protected]>
Date: Thu, 5 May 2016 16:23:04 +0300
Subject: ACPI / sysfs: fix error code in get_status()

From: Dan Carpenter <[email protected]>

commit f18ebc211e259d4f591e39e74b2aa2de226c9a1d upstream.

The problem with ornamental, do-nothing gotos is that they lead to "forgot to set the error code" bugs. We should be returning -EINVAL here but we don't. It leads to an uninitalized variable in counter_show():

drivers/acpi/sysfs.c:603 counter_show()
error: uninitialized symbol 'status'.

Fixes 1c8fce27e275 (ACPI: introduce drivers/acpi/sysfs.c)
---
 drivers/acpi/sysfs.c |    7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)
drivers/acpi/sysfs.c +3 -4
@@ -555,23 +555,22 @@ static void acpi_global_event_handler(u3
 static int get_status(u32 index, acpi_event_status *status,
 		      acpi_handle *handle)
 {
-	int result = 0;
+	int result;
 
 	if (index >= num_gpes + ACPI_NUM_FIXED_EVENTS)
-		goto end;
+		return -EINVAL;
 
 	if (index < num_gpes) {
 		result = acpi_get_gpe_device(index, handle);
 		if (result) {
 			ACPI_EXCEPTION((AE_INFO, AE_NOT_FOUND,
 					"Invalid GPE 0x%x", index));
-			goto end;
+			return result;
 		}
 		result = acpi_get_gpe_status(*handle, index, status);
 	} else if (index < (num_gpes + ACPI_NUM_FIXED_EVENTS))
 		result = acpi_get_event_status(index - num_gpes, status);
 
-end:
 	return result;
 }
 

Patches currently in stable-queue which might be from [email protected] are

queue-4.4/crypto-nx-off-by-one-bug-in-nx_of_update_msc.patch queue-4.4/acpi-sysfs-fix-error-code-in-get_status.patch queue-4.4/usb-gadget-fsl_qe_udc-off-by-one-in-setup_received_handle.patch