lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Thu, 3 Nov 2022 15:00:06 +0800
From:   Yujie Liu <yujie.liu@...el.com>
To:     zhaogongyi <zhaogongyi@...wei.com>
CC:     "oe-lkp@...ts.linux.dev" <oe-lkp@...ts.linux.dev>,
        "lkp@...el.com" <lkp@...el.com>,
        Shuah Khan <skhan@...uxfoundation.org>,
        David Hildenbrand <david@...hat.com>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "linux-mm@...ck.org" <linux-mm@...ck.org>
Subject: Re: [linus:master] [selftests/memory] 13023c33c9:
 kernel-selftests.memory-hotplug.mem-on-off-test.sh.fail

Hi Gongyi,

On Tue, Nov 01, 2022 at 11:56:40AM +0000, zhaogongyi wrote:
> Hi!
> 
> 
> > 
> > Hi!
> > 
> > >
> > > Hi Gongyi,
> > >
> > > We noticed that below commit may change the exit status of
> > > memory-hotplug selftest, please check if the test result is expected.
> > >
> > > We got same test log before this commit but with a good exit, though
> > > there were also some "Invalid argument" and "unexpected success" log.
> > > Please help give some guidance if there are any problems in our test
> > flow.
> > > Thanks.
> > >
> > >
> > > Greeting,
> > >
> > > FYI, we noticed
> > > kernel-selftests.memory-hotplug.mem-on-off-test.sh.fail
> > > due to commit (built with gcc-11):
> > >
> > > commit: 13023c33c962730a38d6b43995910c8805637a9a
> > > ("selftests/memory-hotplug: Add checking after online or offline")
> > > https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git master
> > >
> > > in testcase: kernel-selftests
> > > version: kernel-selftests-x86_64-9313ba54-1_20221017
> > > with following parameters:
> > >
> > > 	group: memory-hotplug
> > >
> > > test-description: The kernel contains a set of "self tests" under the
> > > tools/testing/selftests/ directory. These are intended to be small
> > > unit tests to exercise individual code paths in the kernel.
> > > test-url: https://www.kernel.org/doc/Documentation/kselftest.txt
> > >
> > >
> > > on test machine: 8 threads Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz
> > > (Skylake) with 28G memory
> > >
> > > caused below changes (please refer to attached dmesg/kmsg for entire
> > > log/backtrace):
> > >
> > >
> > > 2022-10-28 01:04:44 make quicktest=1 run_tests -C memory-hotplug
> > > make: Entering directory
> > >
> > '/usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-13023c33c962730a38
> > > d6b43995910c8805637a9a/tools/testing/selftests/memory-hotplug'
> > > TAP version 13
> > > 1..1
> > > # selftests: memory-hotplug: mem-on-off-test.sh # Test scope: 2%
> > > hotplug memory
> > > # 	 online all hot-pluggable memory in offline state:
> > > # 		 SKIPPED - no hot-pluggable memory in offline state
> > > # 	 offline 2% hot-pluggable memory in online state
> > > # 	 trying to offline 5 out of 224 memory block(s):
> > > # online->offline memory0
> > > # ./mem-on-off-test.sh: line 78: echo: write error: Invalid argument #
> > > offline_memory_expect_success 0: unexpected fail # online->offline
> > > memory1 # online->offline memory10 # online->offline memory100 #
> > > online->offline memory101 # online->offline memory102
> > > # 	 online all hot-pluggable memory in offline state:
> > > # offline->online memory1
> > > # offline->online memory10
> > > # offline->online memory100
> > > # offline->online memory101
> > > # offline->online memory102
> > > # 	 Test with memory notifier error injection
> > > # ./mem-on-off-test.sh: line 267: echo: write error: Invalid argument
> > > #
> > 
> > I can not reproduce the error according to the file 'reproduce'.
> > 
> > Line 267 is not runnable on my system. Is there something wrong here?
> > 
> > The code on my system like:
> > 
> > 266 #
> > 267 # Offline $ratio percent of hot-pluggable memory
> > 268 #
> > 269 echo 0 >
> > $NOTIFIER_ERR_INJECT_DIR/actions/MEM_GOING_OFFLINE/error
> > 270 for memory in `hotpluggable_online_memory`; do
> > 271         if [ $((RANDOM % 100)) -lt $ratio ]; then
> > 272                 offline_memory_expect_success $memory
> > &>/dev/null
> > 273         fi
> > 274 done
> > 
> > 
> > > online_memory_expect_fail 142: unexpected success #
> > > online_memory_expect_fail 190: unexpected success #
> > > ./mem-on-off-test.sh: line 287: echo: write error: Invalid argument #
> > 
> > The problem is similar with line 267.
> > 
> > > offline_memory_expect_fail 107: unexpected success #
> > 
> > It seems the error-inject not work.
> 
> 
> Oh, I see that the version you run the test is based on commit 13023c33c962730a38d6b43995910c8805637a9a, and there is a bug on lib/notifier-error-inject.c.
> 
> The commit of the fix patch is c597d9054b13. 
> 
> Your test version has no the fix patch, So the test failed as expected

Thanks for the info. We tested on the fix patch and found that the issue
is gone.

  lib/notifier-error-inject: fix error when writing -errno to debugfs file

But seems this fix patch has not been merged to mainline yet. We run
various selftests on mainline regularly, so we caught this issue and it
is still there. Hope the fix will make it to mainline soon. Thanks.

--
Best Regards,
Yujie

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ