[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v3] Fix acpi_dmar_zap/reinstate() (fixes S3 regression)

>>> On 22.01.13 at 18:22, Tomasz Wroblewski <tomasz.wroblewski@xxxxxxxxxx> 
>>> wrote:
> Thanks, attaching version 3 of the patch using your suggestions, which 
> simplify it considerably. This one uses map_pages_to_xen in favour of 
> ioremap, so it works on both tip as well as older trees from before 
> ioremap() rework (tested both).
> Changes from v2/v1:
> - keeping global dmar_table pointer and initializing it in acpi_dmar_init()
> - use map_pages_to_xen to add a static mapping (instead of ioremap)
> - moved acpi_get_table_physical_location to tbxface.c. Added instance 
> argument to make it symmetric with acpi_get_table.
> - coding convention fixes

This looks much better; I'll slightly edit it before committing
though, so please double check the result.


> Commit message:
> Fix S3 regression introduced by cs 23013:65d26504e843 (ACPI: large 
> cleanup). The dmar virtual pointer returned from acpi_get_table cannot 
> be safely stored away and used later, as the underlying 
> acpi_os_map_memory / __acpi_map_table functions overwrite the mapping 
> causing it to point to different tables than dmar (last fetched table is 
> used). This subsequently causes acpi_dmar_reinstate() and 
> acpi_dmar_zap() to write data to wrong table, causing its corruption and 
> problems with consecutive s3 resumes.
> Added a new function to fetch ACPI table physical address, and 
> establishing separate static mapping for dmar_table pointer instead of 
> using acpi_get_table().
> Signed-off-by: Tomasz Wroblewski <tomasz.wroblewski@xxxxxxxxxx>

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.