On 5/8/20 9:13 AM, Peter Maydell wrote: > On Fri, 8 May 2020 at 16:44, Richard Henderson > <richard.hender...@linaro.org> wrote: >> >> We have validated that addr+size does not cross a page boundary. >> Therefore we need to validate exactly one page. We can achieve >> that passing any value 1 <= x <= size to page_check_range. >> >> Passing 1 will simplify the next patch. > > It's not clear to me how it simplifies the next patch, though -- > we have the size right there in the new function which > calls page_check_range(), don't we? So I still don't > understand why we're using '1' -- it isn't allowing > us to avoid passing the size into probe_access_internal(), > because we need to pass it anyway. > > We've gone round this multiple times now so I feel like > I must be missing something here.
While probe_access() has a size parameter, probe_access_flags() does not. For probe_access_internal(), I currently have a "fault_size" parameter that gets passed to tlb_fill, which is "size" for probe_access() and 0 for probe_access_flags(). I *could* add another "check_size" parameter to probe_access_internal, to be passed on to page_check_range(). It would be "size" for probe_access() and 1 for probe_access_flags(). But what's the point? Always passing 1 to page_check_range() has the same effect. I feel like I'm missing something with your objection. r~