On Fri, 29 Sept 2023 at 14:39, Mateusz Guzik <mjguzik@xxxxxxxxx> wrote: > > So to be clear, obtaining the initial count would require a dedicated > accessor. Please, no. Sequence numbers here are fundamentally broken, since getting that initial sequence number would involve either (a) making it something outside of 'struct file' itself or (b) require the same re-validation of the file pointer that the non-sequence number code needed in the first place. We already have the right model in the only place that really matters (ie fd lookup). Using that same "validate file pointer after you got the ref to it" for the two or three other cases that didn't do it (and are simpler: the exec pointer in particular doesn't need the fdt re-validation at all). The fact that we had some fd lookup that didn't do the full thing that a *real* fd lookup did is just bad. Let's fix it, not introduce a sequence counter that only adds more complexity. Linus