
path_lookupat() is capable of safely reading unampped VAs. If an unmapped VA is read whilst the function is being called, the resulting page fault will get re-directed to __do_page_fault(), which will call fixup_exception() to handle the aforementioned unmapped VA read. Now, for an OS running in a VM, let's say that memory was still mapped at S1 but lent to another VM (i.e. unmapped at S2 for the given VM). The reading of an unmapped VA in path_lookupat() still needs to be handled. For hypervisors that inject an abort leading to a do_sea() call, call fixup_exception() from do_sea() if trace_android_vh_try_fixup_sea() indicates that we can do so. Bug: 320358381 Change-Id: I0aedcd954f08e3011b27524f9a7b038debbb246d Signed-off-by: Chris Goldsworthy <quic_cgoldswo@quicinc.com>
1.7 KiB
1.7 KiB