Suppose that we have an object with a mapped superpage, and that all pages in the superpages are held (by some driver). Then, suppose that the object is terminated, e.g. because the only process that mapped it is exiting . Then, the reservation is broken, but the pages cannot be freed until later, when they are unheld. In this situation, the reservation code cannot clean psind, since no pages are freed, and the page is freed and then reused with invalid psind.
Clean psind on vm_reserv_break() to avoid the situation.
BTW, I do not see any called for vm_reserv_break() which passes non-NULL m.