On Thu Mar 13 14:44:59 2025 +0000, Jinoh Kang wrote:
The offset is ephemeral by nature: the struct referenced by the offset can always be freed and reused by another object at any time, even during a read from a client. We still need a way to verify that the "read critical section" is consistently reading from the same USER object throughout the duration of the critical section, instead of some dangling/freed offset due to an abrupt replacement/destruction of the object. One obvious way to resolve is to make the USER handle (itself consisting of index + generation) a part of the struct referenced by that offset. This is what I assume Rémi is referring to as the "ID".
We may just validate the handle again after reading.