On 15/01/2021 15:14, Jan Beulich wrote: > It's at least odd to check counters which aren't going to be > incremented, resulting in failure just because prior operations may > have left an entry in an unusual state.
I wouldn't say it's an unusual state. It can happen legally when you map the same gref 128 times Why a guest would do this in normal operation is a different question. Perhaps "prior operations may have reached the refcount limit" ? > And it's also not helpful to > use open-coded literal numbers in these checks. > > Calculate the increment values first and derive from them the mask to > use in the checks. > > Also move the pin count checks ahead of the calculation of the status > (and for copy also sha2) pointers: They're not needed in the failure > cases, and this way the compiler may also have an easier time keeping > the variables at least transiently in registers for the subsequent uses. > > Signed-off-by: Jan Beulich <jbeul...@suse.com> Reviewed-by: Andrew Cooper <andrew.coop...@citrix.com>