ACPI: use memory_read_from_buffer()

Previous thread: bay: exit if notify handler cannot be installed by Linux Kernel Mailing List on Wednesday, June 11, 2008 - 6:07 pm. (1 message)

Next thread: ACPICA: Fix to allow zero-length ASL field declarations by Linux Kernel Mailing List on Wednesday, June 11, 2008 - 6:07 pm. (1 message)
From: Linux Kernel Mailing List
Date: Wednesday, June 11, 2008 - 6:07 pm

Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=46a21e...
Commit:     46a21e465e506bcd4dba759a39e7ef79978a705d
Parent:     7efd52a407bed6a2b02015b8ebbff7beba155392
Author:     Akinobu Mita <akinobu.mita@gmail.com>
AuthorDate: Mon Jun 9 16:22:26 2008 -0700
Committer:  Len Brown <len.brown@intel.com>
CommitDate: Wed Jun 11 19:13:47 2008 -0400

    ACPI: use memory_read_from_buffer()
    
    Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
    Acked-by: Zhang Rui <rui.zhang@intel.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Len Brown <len.brown@intel.com>
---
 drivers/acpi/system.c |   15 ++-------------
 1 files changed, 2 insertions(+), 13 deletions(-)

diff --git a/drivers/acpi/system.c b/drivers/acpi/system.c
index 769f248..5bd2dec 100644
--- a/drivers/acpi/system.c
+++ b/drivers/acpi/system.c
@@ -77,7 +77,6 @@ static ssize_t acpi_table_show(struct kobject *kobj,
 	    container_of(bin_attr, struct acpi_table_attr, attr);
 	struct acpi_table_header *table_header = NULL;
 	acpi_status status;
-	ssize_t ret_count = count;
 
 	status =
 	    acpi_get_table(table_attr->name, table_attr->instance,
@@ -85,18 +84,8 @@ static ssize_t acpi_table_show(struct kobject *kobj,
 	if (ACPI_FAILURE(status))
 		return -ENODEV;
 
-	if (offset >= table_header->length) {
-		ret_count = 0;
-		goto end;
-	}
-
-	if (offset + ret_count > table_header->length)
-		ret_count = table_header->length - offset;
-
-	memcpy(buf, ((char *)table_header) + offset, ret_count);
-
-      end:
-	return ret_count;
+	return memory_read_from_buffer(buf, count, &offset,
+					table_header, table_header->length);
 }
 
 static void acpi_table_attr_init(struct acpi_table_attr *table_attr,
--

Previous thread: bay: exit if notify handler cannot be installed by Linux Kernel Mailing List on Wednesday, June 11, 2008 - 6:07 pm. (1 message)

Next thread: ACPICA: Fix to allow zero-length ASL field declarations by Linux Kernel Mailing List on Wednesday, June 11, 2008 - 6:07 pm. (1 message)