Re: [PATCH blktests] nvme/070: add multipath command effects log lifetime test
Shin'ichiro Kawasaki <[email protected]>
| Newsgroups | org.kernel.vger.linux-block |
|---|---|
| Message-ID | <aoVkX-G5f4WNiU8e@shinhome> |
On Aug 14, 2026 / 15:00, Yao Sang wrote: > Add a regression test for namespace head command effects log lifetime. > > Create a two-path loop subsystem, remove the first controller, and issue > an I/O passthrough command through the namespace-head character device. > Kernels that keep the command effects log pointer in the shared namespace > head report the stale access through KASAN. > > Signed-off-by: Yao Sang <[email protected]> Thanks for the patch. I ran the test case, and confirmed it recreates the KASAN slab-use-after-free that was mentioned in your kernel side fix patch [*]. I also confirmed that the kernel fix avoids the KASAN. The test case looks valuable :) [*] https://lore.kernel.org/linux-nvme/[email protected]/ It's the better to mention the kernel side fix in the commit log above and the test case script header comment. Let's wait until the kernel patch gets applied before making the changes, so that we can note the git hash of the kernel fix commit. Also please find in-line comments. > --- > tests/nvme/070 | 57 ++++++++++++++++++++++++++++++++++++++++++++++ > tests/nvme/070.out | 2 ++ > 2 files changed, 59 insertions(+) > create mode 100755 tests/nvme/070 > create mode 100644 tests/nvme/070.out > > diff --git a/tests/nvme/070 b/tests/nvme/070 > new file mode 100755 > index 0000000..39195be > --- /dev/null > +++ b/tests/nvme/070 > @@ -0,0 +1,57 @@ > +#!/bin/bash > +# SPDX-License-Identifier: GPL-3.0+ > +# Copyright (C) 2026 Yao Sang <[email protected]> > +# > +# Test NVMe multipath command effects log lifetime. > + > +. tests/nvme/rc > + > +nvme_trtype=loop Is there any reason to run this test only for loop transport type? If not, I suggest to drop the line above and add set_conditions() to run this test case for all transport types. set_conditions() { _set_nvme_trtype "$@" } > + > +DESCRIPTION="test NVMe multipath command effects log lifetime" > +QUICK=1 > +CHECK_DMESG=1 > + > +requires() { > + _nvme_requires > + _have_loop > + _have_module_param_value nvme_core multipath Y > + _require_nvme_trtype_is_loop If this case is not restricted to loop transport, the line above will not be required. > + _have_kernel_options KASAN Certain amount of blktests users do not enable KASAN. I think this test case is still worth running under such conditions, so suggest to drop the line above.