A sequence number mismatch occurs when an invalid copy (with a stale
sequence number) gets written. To continue after the error, we need
to use the current sequence number. But new_seqno() used the larger
one of the two, which is correct only as long as sequence numbers do
not overflow. Overflow is rather unlikely, though.
if (!(ep->flags & EFF_TYPED))
return;
old_seqno = get_seqno(ep, elt->uid);
- if (CANT_HAPPEN(old_seqno != elt->seqno))
- old_seqno = MAX(old_seqno, elt->seqno);
+ CANT_HAPPEN(old_seqno != elt->seqno);
elt->seqno = old_seqno + 1;
}