From 6dba89320c6f56399c2080107c655d7e7e3c4922 Mon Sep 17 00:00:00 2001 From: liusirui Date: Thu, 20 Oct 2022 15:33:46 +0800 Subject: [PATCH] backport patch to fix test case (cherry picked from commit dcbf8821758e202500cd66374d5cad914b51f5f9) --- ...dctl-test-Fix-device-dax-mremap-test.patch | 40 +++++++++++++++++++ ndctl.spec | 7 +++- 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 0001-ndctl-test-Fix-device-dax-mremap-test.patch diff --git a/0001-ndctl-test-Fix-device-dax-mremap-test.patch b/0001-ndctl-test-Fix-device-dax-mremap-test.patch new file mode 100644 index 0000000..64e1443 --- /dev/null +++ b/0001-ndctl-test-Fix-device-dax-mremap-test.patch @@ -0,0 +1,40 @@ +From 6694afe31dd67d186199a58d2252be5ea3472692 Mon Sep 17 00:00:00 2001 +From: Dan Williams +Date: Tue, 12 Jan 2021 23:15:09 -0800 +Subject: [PATCH] ndctl/test: Fix device-dax mremap() test + +The test_dax_remap() test is a regression check for mishandling of mremap() +in the presence of pmd_devmap(). My understanding is that it was a fuzzing +condition not something an application would want to do in practice. + +On recent kernels with commit 73d5e0629919 ("mremap: check if it's possible +to split original vma"), the test fails for device-dax. That seems an +equally acceptable result of attempting this remap, so update the test +rather than ask the kernel to preserve the old behaviour. + +Signed-off-by: Dan Williams +Signed-off-by: Vishal Verma +Link: https://lore.kernel.org/r/161052210936.1804207.17896246772670985157.stgit@dwillia2-desk3.amr.corp.intel.com +--- + test/dax-pmd.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/test/dax-pmd.c b/test/dax-pmd.c +index b1251db..7648e34 100644 +--- a/test/dax-pmd.c ++++ b/test/dax-pmd.c +@@ -69,6 +69,11 @@ int test_dax_remap(struct ndctl_test *test, int dax_fd, unsigned long align, voi + + remap = mremap(addr, REMAP_SIZE, REMAP_SIZE, MREMAP_MAYMOVE|MREMAP_FIXED, anon); + ++ if (remap == MAP_FAILED) { ++ fprintf(stderr, "%s: mremap failed, that's ok too\n", __func__); ++ return 0; ++ } ++ + if (remap != anon) { + rc = -ENXIO; + perror("mremap"); +-- +2.33.0 + diff --git a/ndctl.spec b/ndctl.spec index 9119ad5..00d0eba 100644 --- a/ndctl.spec +++ b/ndctl.spec @@ -1,12 +1,14 @@ Name: ndctl Version: 71.1 -Release: 3 +Release: 4 Summary: Manage "libnvdimm" subsystem devices (Non-volatile Memory) License: GPL-2, LGPL-2.1, MIT, CC0-1.0 Group: System Environment/Base Url: https://github.com/pmem/ndctl Source0: https://github.com/pmem/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz +Patch1: 0001-ndctl-test-Fix-device-dax-mremap-test.patch + Requires: ndctl-libs%{?_isa} = %{version}-%{release} Requires: daxctl-libs%{?_isa} = %{version}-%{release} BuildRequires: autoconf @@ -152,6 +154,9 @@ make check %changelog +* Thu Oct 20 2022 liusirui - 71.1-4 +- backport patch to fix test case + * Mon Aug 02 2021 chenyanpanHW - 71.1-3 - DESC: delete -Sgit from %autosetup, and delete BuildRequires git -- Gitee