diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-04-30 15:21:02 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-04-30 15:21:02 -0700 | 
| commit | 3ed1c478eff8db80e234d5446cb378b503135888 (patch) | |
| tree | e1c8e0f488ca49c49b5a31fe59add4254381dd4b /drivers/acpi/acpica/rsxface.c | |
| parent | 151173e8ce9b95bbbbd7eedb9035cfaffbdb7cb2 (diff) | |
| parent | 371deb9500831ad1afbf9ea00e373f650deaed2f (diff) | |
| download | olio-linux-3.10-3ed1c478eff8db80e234d5446cb378b503135888.tar.xz olio-linux-3.10-3ed1c478eff8db80e234d5446cb378b503135888.zip  | |
Merge tag 'pm+acpi-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull power management and ACPI updates from Rafael J Wysocki:
 - ARM big.LITTLE cpufreq driver from Viresh Kumar.
 - exynos5440 cpufreq driver from Amit Daniel Kachhap.
 - cpufreq core cleanup and code consolidation from Viresh Kumar and
   Stratos Karafotis.
 - cpufreq scalability improvement from Nathan Zimmer.
 - AMD "frequency sensitivity feedback" powersave bias for the ondemand
   cpufreq governor from Jacob Shin.
 - cpuidle code consolidation and cleanups from Daniel Lezcano.
 - ARM OMAP cpuidle fixes from Santosh Shilimkar and Daniel Lezcano.
 - ACPICA fixes and other improvements from Bob Moore, Jung-uk Kim, Lv
   Zheng, Yinghai Lu, Tang Chen, Colin Ian King, and Linn Crosetto.
 - ACPI core updates related to hotplug from Toshi Kani, Paul Bolle,
   Yasuaki Ishimatsu, and Rafael J Wysocki.
 - Intel Lynxpoint LPSS (Low-Power Subsystem) support improvements from
   Rafael J Wysocki and Andy Shevchenko.
* tag 'pm+acpi-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (192 commits)
  cpufreq: Revert incorrect commit 5800043
  cpufreq: MAINTAINERS: Add co-maintainer
  cpuidle: add maintainer entry
  ACPI / thermal: do not always return THERMAL_TREND_RAISING for active trip points
  ARM: s3c64xx: cpuidle: use init/exit common routine
  cpufreq: pxa2xx: initialize variables
  ACPI: video: correct acpi_video_bus_add error processing
  SH: cpuidle: use init/exit common routine
  ARM: S5pv210: compiling issue, ARM_S5PV210_CPUFREQ needs CONFIG_CPU_FREQ_TABLE=y
  ACPI: Fix wrong parameter passed to memblock_reserve
  cpuidle: fix comment format
  pnp: use %*phC to dump small buffers
  isapnp: remove debug leftovers
  ARM: imx: cpuidle: use init/exit common routine
  ARM: davinci: cpuidle: use init/exit common routine
  ARM: kirkwood: cpuidle: use init/exit common routine
  ARM: calxeda: cpuidle: use init/exit common routine
  ARM: tegra: cpuidle: use init/exit common routine for tegra3
  ARM: tegra: cpuidle: use init/exit common routine for tegra2
  ARM: OMAP4: cpuidle: use init/exit common routine
  ...
Diffstat (limited to 'drivers/acpi/acpica/rsxface.c')
| -rw-r--r-- | drivers/acpi/acpica/rsxface.c | 8 | 
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/acpi/acpica/rsxface.c b/drivers/acpi/acpica/rsxface.c index 15d6eaef0e2..c0e5d2d3ce6 100644 --- a/drivers/acpi/acpica/rsxface.c +++ b/drivers/acpi/acpica/rsxface.c @@ -563,13 +563,19 @@ acpi_walk_resource_buffer(struct acpi_buffer * buffer,  	while (resource < resource_end) { -		/* Sanity check the resource */ +		/* Sanity check the resource type */  		if (resource->type > ACPI_RESOURCE_TYPE_MAX) {  			status = AE_AML_INVALID_RESOURCE_TYPE;  			break;  		} +		/* Sanity check the length. It must not be zero, or we loop forever */ + +		if (!resource->length) { +			return_ACPI_STATUS(AE_AML_BAD_RESOURCE_LENGTH); +		} +  		/* Invoke the user function, abort on any error returned */  		status = user_function(resource, context);  |