On Sat, Jan 28, 2017 at 12:10:41PM +0100, Andrew Jones wrote: > > If we checked only requested BAR the function could have > > succeeded with inconsistent BAR sizes combinations. I.e. > > imagine a corrupted BARs reported by a device: > > BAR 0 - 64 bit lower > > BAR 1 - 64 bit lower > > BAR 2 - 64 bit upper > > ... > > If the function is asked about BAR 1 it would succeed, even > > though in fact the layout is ambiguous. > > Is it possible to have bars messed up like this? I think I'd I do not know actually. We spread sanity checks (asserts) here and there to avoid i.e. DT inconsistency. If we were to propagate this approach to the rest of the code, then we should assume BARs could be messed up, right? It is a design decision, therefore - up to you ;) > just assume that sane layouts will exist and that we need to > avoid misinterpreting a high bar. So we just need to know a > high bar is a high bar, and in that case it's valid. [...] > Thanks, > drew