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] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 14 Jul 2023 10:36:41 -0700
From:   Reinette Chatre <reinette.chatre@...el.com>
To:     Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
CC:     <linux-kselftest@...r.kernel.org>, Shuah Khan <shuah@...nel.org>,
        "Shaopeng Tan" <tan.shaopeng@...fujitsu.com>,
        Fenghua Yu <fenghua.yu@...el.com>,
        LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v4 06/19] selftests/resctrl: Move resctrl FS mount/umount
 to higher level

Hi Ilpo,

On 7/14/2023 4:31 AM, Ilpo Järvinen wrote:
> On Thu, 13 Jul 2023, Reinette Chatre wrote:
> 
>> Hi Ilpo,
>>
>> On 7/13/2023 6:19 AM, Ilpo Järvinen wrote:
>>> A few places currently lack umounting resctrl FS on error paths:
>>>   - cmt_resctrl_val() has multiple error paths with direct return.
>>>   - cat_perf_miss_val() has multiple error paths with direct return.
>>> In addition, validate_resctrl_feature_request() is called by
>>> run_mbm_test() and run_mba_test(). Neither MBA nor MBM test tries to
>>> umount resctrl FS.
>>>
>>> Each and every test does require resctrl FS to be present already for
>>> feature check. Thus, it makes sense to just mount it on higher level in
>>> resctrl_tests.c and properly pair it with umount.
>>>
>>> Move resctrl FS (re)mount/unmount into each test function in
>>> resctrl_tests.c. Make feature validation to simply check that resctrl
>>> FS is mounted.
>>>
>>> Fixes: 91db4fd9019a ("selftests/resctrl: Remove duplicate codes that clear each test result file")
>>
>> Could you please elaborate how this commit is the culprit?
> 
> Of course it isn't. I'm pretty sure I had some idea when that was added 
> but it was before the patches were rearranged/modified, maybe I 
> incorrectly thought that the cleanup functions do umount (but they don't).
> 
> I'll changed it to these:
> Fixes: f1dd71982d19 ("selftests/resctrl: Skip the test if requested resctrl feature is not supported")
> Fixes: 01fee6b4d1f9 ("selftests/resctrl: Add MBA test")
> Fixes: ecdbb911f22d ("selftests/resctrl: Add MBM test")
> Fixes: 790bf585b0ee ("selftests/resctrl: Add Cache Allocation Technology (CAT) selftest")
> Fixes: 78941183d1b1 ("selftests/resctrl: Add Cache QoS Monitoring (CQM) selftest")
> 
> ...however, I was also considering dropping Fixes completely because 
> main() has the final umount() at the end so no lingering resctrl FS after 
> tests, and inter-test issues are hard to track due to how complicated the 
> code is so I'm not entirely sure if there are real issues under any 
> combination of tests and all the mounting/unmounting going on).
> 

Indeed. The problem statement is that some places lack
unmounting resctrl FS on error paths. This may create impression
that there are scenarios where resctrl is left mounted on failure.
As you indicate this is not the case. I agree that the "Fixes" tag
can be dropped with this categorized as code refactor instead.

Reinette

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ