Commit 6b5d5074 authored by Chris Goldsworthy's avatar Chris Goldsworthy Committed by Treehugger Robot
Browse files

ANDROID: arm64: Call fixup_exception() within do_sea()



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
Bug: 329195059
Change-Id: I0aedcd954f08e3011b27524f9a7b038debbb246d
Signed-off-by: default avatarChris Goldsworthy <quic_cgoldswo@quicinc.com>
(cherry picked from commit 9be763fb)
parent e14437db
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment