+    if (!virtio_read_many(block_offset, load_addr, blks_to_load)) {

... but this code here checks that virtio_read_many() now returns 0 to signal that there is an error...

Either I need more coffee or one of the two if-conditions is wrong...?

Hmm, I think you are sufficiently caffeinated... I agree that something is
mixed up here. I suspect I got some wires crossed when I was doing the
read_iso_sector() rework/removal.  I will double check all of the IPL_assert()
reworks and uniformly remove the read_iso_sector() calls so it is consistent
in that regard.

I’ll also take a closer look at my test coverage, because the mismatched error
conditions should always cause incorrect IPL behavior here, which seems to
indicate this code path was not properly exercised...

Jared Rossi

Reply via email to