2021-05-15 21:06:00 UTC: We're in read-only mode for probably ~30 minutes for a database migration. Join #lobsters on freenode or follow the todo list.
I like how the solution was to bump the culprit from 32bit to 64bit and avoid checking for overflow in the first place since it’s currently unimaginable that it would happen.
In a kernel with CONFIG_DEBUG_VM_VMACACHE=y, the bug can be observed after “around 40 minutes” according to the report in project zero’s bug tracker.
After the change you need to increment the sequence number 2^32 times more often than before. This should raise the time to complete that demonstration to 2^32 * 40 / (60 * 24 * 365.25) or ~326,638 years.
I came here to quote “thereby making an overflow infeasible” with the same thought in mind; that said, 640K ought to be enough for anybody.
@kivikakk @johnLate and the best thing is is that it doesn’t even grow the data structures since the the adjacent fields were 64bits already