From 9900e48d012311af2cdcbf80f19be5965032b939 Mon Sep 17 00:00:00 2001 From: Rafal Stefanowski Date: Thu, 19 May 2022 12:21:10 +0200 Subject: [PATCH] bdev/ocf: Update OCF to 21.6.3.1 This OCF update is mainly focused on: - Fix OCF crash when handling flush I/O with large size Previous implementation attempts to use cache data I/O interface (ocf_submit_cache_reqs function) instead of submitting empty flush to the underlying cache device. This function is designed to read/write from mapped cachelines while there is no traversation/mapping performed on flush I/O. If request map allocation succeeds, this results in sending I/O to addres 0 with size and flags inherited from the top adapter I/O. This doesn't make any sense, and can even result in invalid I/O if the size is greater than cache device size. Even worse, if flush request map allocation fails (which happens always in case of large flush requests) then the erroneous call to ocf_submit_cache_reqs results in NULL pointer dereference. Other fixes included in this OCF update: - Fix race condition in fast path - Fix use after free during metadata load - Fix cleaner hung after cleaning policy switch - Fix use after free during volume close - Fix stack overflow when trying to insert to disabled io class and the sequential cutoff is on Signed-off-by: Rafal Stefanowski Change-Id: Id38f54df7b6c58c84f7f15f4354530755eb9171f Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12744 Community-CI: Broadcom CI Tested-by: SPDK CI Jenkins Reviewed-by: Tomasz Zawadzki Reviewed-by: Ben Walker --- ocf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ocf b/ocf index 865d29d0c..4477cb55a 160000 --- a/ocf +++ b/ocf @@ -1 +1 @@ -Subproject commit 865d29d0cb93a71ce37a8410914c35005aa6ed54 +Subproject commit 4477cb55a0bcd313a5ebcfdf877ca76a31695df7