- res = simple_read_from_buffer(buffer, count, ppos,
- dsdt.pointer, dsdt.length);
+ if (*ppos < dsdt.length) {
+ data = dsdt.pointer + file->f_pos;
+ size = dsdt.length - file->f_pos;
+ if (size > count)
+ size = count;
+ if (copy_to_user(buffer, data, size)) {
+ acpi_os_free(dsdt.pointer);
+ return_VALUE(-EFAULT);
+ }
+ }
+