]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
scsi: dpt_i2o: Do not process completions with invalid addresses
authorBen Hutchings <benh@debian.org>
Sat, 27 May 2023 13:52:48 +0000 (15:52 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 Jun 2023 08:29:04 +0000 (10:29 +0200)
commit4ffad598bff484a793780d22a93814abec5d3803
tree0b62b42d5f5e158d0e84869b038180d2ff7d6964
parente2897f133acdb86ca1d16dc3001f7da623efa3d7
scsi: dpt_i2o: Do not process completions with invalid addresses

adpt_isr() reads reply addresses from a hardware register, which
should always be within the DMA address range of the device's pool of
reply address buffers.  In case the address is out of range, it tries
to muddle on, converting to a virtual address using bus_to_virt().

bus_to_virt() does not take DMA addresses, and it doesn't make sense
to try to handle the completion in this case.  Ignore it and continue
looping to service the interrupt.  If a completion has been lost then
the SCSI core should eventually time-out and trigger a reset.

There is no corresponding upstream commit, because this driver was
removed upstream.

Fixes: 67af2b060e02 ("[SCSI] dpt_i2o: move from virt_to_bus/bus_to_virt ...")
Signed-off-by: Ben Hutchings <benh@debian.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/scsi/Kconfig
drivers/scsi/dpt_i2o.c