+2
−0
Loading
_spdk_bdev_io_submit uses the bdev_io->internal.in_submit_request flag to ensure we unwind in cases where the I/O is completed inline (i.e. malloc or null bdevs). But when an I/O gets queued for QoS, and then we iterate through the queued I/O in _spdk_bdev_qos_io_submit(), this flag was not getting set when those I/O would get submitted to the underlying bdev. This would allow for _spdk_bdev_qos_io_submit recursion, resulting in all kinds of different types of memory corruption. Fixes #613. Signed-off-by:Jim Harris <james.r.harris@intel.com> Change-Id: I29263f4e7b2ead60f08b60474d210defa803348c Reviewed-on: https://review.gerrithub.io/c/442127 Tested-by:
SPDK CI Jenkins <sys_sgci@intel.com> Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by:
Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by:
Liang Yan <liang.z.yan@intel.com> Reviewed-by:
Changpeng Liu <changpeng.liu@intel.com> Reviewed-by:
GangCao <gang.cao@intel.com>