Hi Matt,

Thanks for the careful read.

You are right about the post loop access. list_move_tail()
reads dirty_journal->dirty_entry. Container_of cancellation
lands that read on the head's .next field. The memory is
bounded and well defined. Calling this UB in my original mail
overstated the case. The practical impact is cosmetic. I
should not have framed it that way.

You are also right about the timeline. The Koschel 2022 sweep
predates dm-vdo. Citing it as a missed site was off the mark.
Sorry for that.

I will not pursue a [PATCH] for this site. The inline insertion
shape you suggested would be cleaner than the current code. But
I agree it does not warrant a standalone series in isolation.
If a future dm-vdo refactor touches this function for other
reasons, that would be the natural time to fold it in.

Thanks again, and sorry for the noise.

Maoyi Xie
https://maoyixie.com/

Reply via email to