diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-13 12:56:14 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-02-13 12:56:14 -0500 |
commit | 10270d4838bdc493781f5a1cf2e90e9c34c9142f (patch) | |
tree | d9bce90a79be42ffd619b65b42e9a699bf0d13a6 /include | |
parent | d897d2b597167586fcf1fb197ad5a1c23332c3e8 (diff) |
acpi: fix acpi_os_read_pci_configuration() misuse of raw_pci_read()
The raw_pci_read() interface (as the raw_pci_ops->read() before it)
unconditionally fills in a 32-bit integer return value regardless of the
size of the operation requested.
So claiming to take a "void *" is wrong, as is passing in a pointer to
just a byte variable.
Noticed by pageexec when enabling -fstack-protector (which needs other
patches too to actually work, but that's a separate issue).
Acked-by: Len Brown <len.brown@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/acpi/acpiosxf.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/acpi/acpiosxf.h b/include/acpi/acpiosxf.h index 022a5fd80c8e..4839f2af94c3 100644 --- a/include/acpi/acpiosxf.h +++ b/include/acpi/acpiosxf.h | |||
@@ -222,7 +222,7 @@ acpi_os_write_memory(acpi_physical_address address, u32 value, u32 width); | |||
222 | */ | 222 | */ |
223 | acpi_status | 223 | acpi_status |
224 | acpi_os_read_pci_configuration(struct acpi_pci_id *pci_id, | 224 | acpi_os_read_pci_configuration(struct acpi_pci_id *pci_id, |
225 | u32 reg, void *value, u32 width); | 225 | u32 reg, u32 *value, u32 width); |
226 | 226 | ||
227 | acpi_status | 227 | acpi_status |
228 | acpi_os_write_pci_configuration(struct acpi_pci_id *pci_id, | 228 | acpi_os_write_pci_configuration(struct acpi_pci_id *pci_id, |