From 02eaf0ae1253ed693fcb551ba8c708caf1026cf7 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Mar 12 2019 16:33:01 +0000 Subject: import oracleasm-2.0.8-22.1.el7_6 --- diff --git a/SOURCES/oracleasm.preamble b/SOURCES/oracleasm.preamble index 4f5a9dc..894945d 100644 --- a/SOURCES/oracleasm.preamble +++ b/SOURCES/oracleasm.preamble @@ -1,2 +1,2 @@ -Requires: kernel >= 3.10.0-907.el7 +Requires: kernel >= 3.10.0-957.el7 Provides: oracleasm = %{version}-%{release} diff --git a/SOURCES/use-after-free-asm-request.patch b/SOURCES/use-after-free-asm-request.patch new file mode 100644 index 0000000..997f9a6 --- /dev/null +++ b/SOURCES/use-after-free-asm-request.patch @@ -0,0 +1,42 @@ +From: "Gayatri Vasudevan" +Date: Fri, 21 Dec 2018 11:45:15 -0800 +Subject: oracleasm: Fix use after free for request processing timer + +Update r->r_elapsed under the spinlock to avoid racing with the +completion code freeing the asm_request. + +This change bas been backported from UEK4 from the following commit +9897de3bb02964dff8d331a5c8a0d538392e4a3b +"(oracleasm: Fix use after free for request processing timer)" + +Orabug: 28660867 + +Signed-off-by: Gayatri Vasudevan +Reviewed-by: Srinivas Eeda +--- +source/drivers/block/oracleasm/driver.c | 3 +-- +1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/drivers/block/oracleasm/driver.c b/drivers/block/oracleasm/driver.c +index 0488159..40a441b 100644 +--- a/drivers/block/oracleasm/driver.c ++++ b/drivers/block/oracleasm/driver.c +@@ -1104,6 +1104,7 @@ static void asm_finish_io(struct asm_request *r) + if (r->r_error) + r->r_status |= ASM_ERROR; + r->r_status |= ASM_COMPLETED; ++ r->r_elapsed = ((jiffies - r->r_elapsed) * 1000000) / HZ; + + spin_unlock_irqrestore(&afi->f_lock, flags); + +@@ -1117,8 +1118,6 @@ static void asm_finish_io(struct asm_request *r) + } + } + +- r->r_elapsed = ((jiffies - r->r_elapsed) * 1000000) / HZ; +- + mlog(ML_REQUEST, "Finished request 0x%p\n", r); + + wake_up(&afi->f_wait); +-- +1.8.3.1 diff --git a/SPECS/oracleasm.spec b/SPECS/oracleasm.spec index baa1624..25149e4 100644 --- a/SPECS/oracleasm.spec +++ b/SPECS/oracleasm.spec @@ -1,9 +1,9 @@ %define kmod_name oracleasm %define kmod_driver_version 2.0.8 -%define kmod_rpm_release 22 +%define kmod_rpm_release 22.1 %define kmod_git_hash 73eec1df4b6aec6e850db5015d74dbf6dee01e01 -%define kmod_kernel_version 3.10.0-907.el7 -%define kernel_version 3.10.0-907.el7 +%define kmod_kernel_version 3.10.0-957.el7 +%define kernel_version 3.10.0-957.el7 %define kmod_kbuild_dir drivers/block/oracleasm @@ -20,6 +20,7 @@ Source7: oracleasm.preamble Patch0: oracleasm.patch Patch1: classify-device-connectivity-issues-as-global-errors.patch +Patch2: use-after-free-asm-request.patch %define __find_requires %_sourcedir/find-requires.ksyms %define __find_provides %_sourcedir/find-provides.ksyms %{kmod_name} %{?epoch:%{epoch}:}%{version}-%{release} @@ -48,6 +49,7 @@ ExclusiveArch: x86_64 %setup %patch0 -p1 %patch1 -p1 +%patch2 -p1 set -- * mkdir source @@ -107,6 +109,12 @@ fi rm -rf $RPM_BUILD_ROOT %changelog +* Wed Feb 20 2019 Eugene Syromiatnikov 2.0.8-22.1 +- For >= kernel-3.10.0-957.el7 +- Add "use-after-free-asm-request.patch" +- (oracleasm: Fix use after free for request processing timer) +- Resolves: #1679239 + * Tue Jun 19 2018 Eugene Syromiatnikov 2.0.8-22 - For >= kernel-3.10.0-907.el7 - Resolves: #1568406