+26
−8
+1
−1
Loading
In most places, we are passing NVME_TIMEOUT_INFINITE as the timeout_in_ms argument to nvme_ctrlr_set_state, presumably in an attempt to specify an infinite timeout. However, nvme_ctrlr_set_state only checked against 0 when setting the actual timeout, and we didn't have any logic to check for overflow so we just ended up setting random timeout_tsc values which changes the behavior of the nvme_ctrlr_process_init function in several places. So, change NVME_TIMEOUT_INFINITE to 0, and add some integer overflow checking to nvme_ctrlr_set_state. Change-Id: Ic9d0cc57ed153df30c3b20313c3742072a5f992d Signed-off-by:Seth Howell <seth.howell@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/469485 Tested-by:
SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by:
Jim Harris <james.r.harris@intel.com> Reviewed-by:
Ben Walker <benjamin.walker@intel.com> Reviewed-by:
Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by:
Alexey Marchuk <alexeymar@mellanox.com>