1. 09 2月, 2011 1 次提交
    • R
      ACPI: Fix acpi_os_read_memory() and acpi_os_write_memory() (v2) · 884b821f
      Rafael J. Wysocki 提交于
      The functions acpi_os_read_memory() and acpi_os_write_memory() do
      two wrong things.  First, they shouldn't call rcu_read_unlock()
      before the looked up address is actually used for I/O, because in
      that case the iomap it belongs to may be removed before the I/O
      is done.  Second, if they have to create a new mapping, they should
      check the returned virtual address and tell the caller that the
      operation failed if it is NULL (in fact, I think they even should not
      attempt to map an address that's not present in one of the existing
      ACPI iomaps, because that may cause problems to happen when they are
      called from nonpreemptible context and their callers ought to know
      what they are doing and map the requisite memory regions beforehand).
      
      Make these functions call rcu_read_unlock() when the I/O is complete
      (or if it's necessary to map the given address "on the fly") and
      return an error code if the requested physical address is not present
      in the existing ACPI iomaps and cannot be mapped.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      884b821f
  2. 08 2月, 2011 12 次提交
  3. 07 2月, 2011 23 次提交
  4. 06 2月, 2011 4 次提交