Hello,
kernel test robot noticed "ltp.ioprio_set03.fail" on:
commit: eca2040972b411ec27483bf75dc8b84e730e88ff ("scsi: block: ioprio: Clean up interface definition")
https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master
[test failed on linux-next/master f7efed9f38f886edb450041b82a6f15d663c98f8]
[test failed on fix commit 01584c1e233740519d0e11aa20daa323d26bf598]
in testcase: ltp
version: ltp-x86_64-14c1f76-1_20230520
with following parameters:
disk: 1HDD
fs: xfs
test: syscalls-05
compiler: gcc-12
test machine: 4 threads 1 sockets Intel(R) Core(TM) i3-3220 CPU @ 3.30GHz (Ivy Bridge) with 8G memory
(please refer to attached dmesg/kmsg for entire log/backtrace)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-lkp/[email protected]
<<<test_start>>>
tag=ioprio_set03 stime=1687153195
cmdline="ioprio_set03"
contacts=""
analysis=exit
<<<test_output>>>
tst_test.c:1558: TINFO: Timeout per run is 0h 02m 30s
ioprio_set03.c:39: TFAIL: ioprio_set IOPRIO_CLASS_BE prio 8 should not work
ioprio_set03.c:47: TINFO: tested illegal priority with class NONE
ioprio_set03.c:50: TPASS: returned correct error for wrong prio: EINVAL (22)
Summary:
passed 1
failed 1
broken 0
skipped 0
warnings 0
<<<execution_status>>>
initiation_status="ok"
duration=0 termination_type=exited termination_id=1 corefile=no
cutime=0 cstime=3
<<<test_end>>>
To reproduce:
git clone https://github.com/intel/lkp-tests.git
cd lkp-tests
sudo bin/lkp install job.yaml # job file is attached in this email
bin/lkp split-job --compatible job.yaml # generate the yaml file for lkp run
sudo bin/lkp run generated-yaml-file
# if come across any failure that blocks the test,
# please remove ~/.lkp and /lkp dir to run from a clean state.
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
On 6/20/23 14:58, kernel test robot wrote:
>
>
> Hello,
>
> kernel test robot noticed "ltp.ioprio_set03.fail" on:
LTP maintainers,
Patches have been submitted to fix this issue. Were these patches applied ?
Kernel test robot maintainers,
Once the LTP patches are applied, you will need to update LTP.
>
> commit: eca2040972b411ec27483bf75dc8b84e730e88ff ("scsi: block: ioprio: Clean up interface definition")
> https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master
>
> [test failed on linux-next/master f7efed9f38f886edb450041b82a6f15d663c98f8]
> [test failed on fix commit 01584c1e233740519d0e11aa20daa323d26bf598]
>
>
> in testcase: ltp
> version: ltp-x86_64-14c1f76-1_20230520
> with following parameters:
>
> disk: 1HDD
> fs: xfs
> test: syscalls-05
>
>
>
> compiler: gcc-12
> test machine: 4 threads 1 sockets Intel(R) Core(TM) i3-3220 CPU @ 3.30GHz (Ivy Bridge) with 8G memory
>
> (please refer to attached dmesg/kmsg for entire log/backtrace)
>
>
>
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <[email protected]>
> | Closes: https://lore.kernel.org/oe-lkp/[email protected]
>
>
>
> <<<test_start>>>
> tag=ioprio_set03 stime=1687153195
> cmdline="ioprio_set03"
> contacts=""
> analysis=exit
> <<<test_output>>>
> tst_test.c:1558: TINFO: Timeout per run is 0h 02m 30s
> ioprio_set03.c:39: TFAIL: ioprio_set IOPRIO_CLASS_BE prio 8 should not work
> ioprio_set03.c:47: TINFO: tested illegal priority with class NONE
> ioprio_set03.c:50: TPASS: returned correct error for wrong prio: EINVAL (22)
>
> Summary:
> passed 1
> failed 1
> broken 0
> skipped 0
> warnings 0
> <<<execution_status>>>
> initiation_status="ok"
> duration=0 termination_type=exited termination_id=1 corefile=no
> cutime=0 cstime=3
> <<<test_end>>>
>
>
>
> To reproduce:
>
> git clone https://github.com/intel/lkp-tests.git
> cd lkp-tests
> sudo bin/lkp install job.yaml # job file is attached in this email
> bin/lkp split-job --compatible job.yaml # generate the yaml file for lkp run
> sudo bin/lkp run generated-yaml-file
>
> # if come across any failure that blocks the test,
> # please remove ~/.lkp and /lkp dir to run from a clean state.
>
>
>
--
Damien Le Moal
Western Digital Research
Hi!
> > kernel test robot noticed "ltp.ioprio_set03.fail" on:
>
> LTP maintainers,
>
> Patches have been submitted to fix this issue. Were these patches applied ?
Looks like they are in, at least these two:
ioprio: use ioprio.h kernel header if it exists
ioprio: Use IOPRIO_PRIO_NUM to check prio range
And there does not seem to be anything ioprio related haning in the LTP
patchwork.
--
Cyril Hrubis
[email protected]
On Wed, Jun 21, 2023 at 02:47:43PM +0200, Cyril Hrubis wrote:
> Hi!
> > > kernel test robot noticed "ltp.ioprio_set03.fail" on:
> >
> > LTP maintainers,
> >
> > Patches have been submitted to fix this issue. Were these patches applied ?
>
> Looks like they are in, at least these two:
>
> ioprio: use ioprio.h kernel header if it exists
> ioprio: Use IOPRIO_PRIO_NUM to check prio range
>
> And there does not seem to be anything ioprio related haning in the LTP
> patchwork.
Hello Cyril, Petr, Damien,
I just ran LTP master + linux-next and the test case passes for me.
Although, note that even if you are using LTP master,
the way that the LTP header:
testcases/kernel/syscalls/ioprio/ioprio.h
is written, you will need to run
make headers_install
with linux-next kernel source,
before running
make autotools && ./configure
in LTP.
Otherwise LTP will use the kernel uapi headers from your distro,
which does not perform the new checks for the IOPRIO_PRIO_VALUE()
macro. (It requires linux uapi headers from linux-next.)
Does the linux kernel test robot not run
make headers_install
before running
make autotools && ./configure
in LTP?
One option, although I'm not sure if we want this,
is to change
testcases/kernel/syscalls/ioprio/ioprio.h
to do something like:
#ifndef IOPRIO_BAD_VALUE
# define IOPRIO_BAD_VALUE(val, max) ((val) < 0 || (val) >= (max))
#endif
such that LTP does not need to be compiled against the kernel uapi
headers that match the running kernel.
But... shouldn't the installed uapi headers match the running kernel?
Kind regards,
Niklas
> On Wed, Jun 21, 2023 at 02:47:43PM +0200, Cyril Hrubis wrote:
> > Hi!
> > > > kernel test robot noticed "ltp.ioprio_set03.fail" on:
> > > LTP maintainers,
> > > Patches have been submitted to fix this issue. Were these patches applied ?
> > Looks like they are in, at least these two:
> > ioprio: use ioprio.h kernel header if it exists
> > ioprio: Use IOPRIO_PRIO_NUM to check prio range
> > And there does not seem to be anything ioprio related haning in the LTP
> > patchwork.
Hi Niklas,
> Hello Cyril, Petr, Damien,
> I just ran LTP master + linux-next and the test case passes for me.
> Although, note that even if you are using LTP master,
> the way that the LTP header:
> testcases/kernel/syscalls/ioprio/ioprio.h
> is written, you will need to run
> make headers_install
> with linux-next kernel source,
> before running
> make autotools && ./configure
> in LTP.
> Otherwise LTP will use the kernel uapi headers from your distro,
> which does not perform the new checks for the IOPRIO_PRIO_VALUE()
> macro. (It requires linux uapi headers from linux-next.)
Yes, it should do otherwise more tests would be often broken.
> Does the linux kernel test robot not run
> make headers_install
> before running
> make autotools && ./configure
> in LTP?
I guess that's the question for Damien (I and Cyril have nothing to do with
kernel test robot). I wonder myself.
> One option, although I'm not sure if we want this,
> is to change
> testcases/kernel/syscalls/ioprio/ioprio.h
> to do something like:
> #ifndef IOPRIO_BAD_VALUE
> # define IOPRIO_BAD_VALUE(val, max) ((val) < 0 || (val) >= (max))
> #endif
> such that LTP does not need to be compiled against the kernel uapi
> headers that match the running kernel.
> But... shouldn't the installed uapi headers match the running kernel?
Yes, whatever kernel version (stable, enterprise, mainline, linux-next, ...) is
being tested, the tester should make sure LTP is compiled against correct
headers.
Kind regards,
Petr
> Kind regards,
> Niklas
Hi!
> But... shouldn't the installed uapi headers match the running kernel?
Genearlly this is tough nut to crack. It's nearly impossible for headers
to actually match the running kernel in testing environments, since
quite often the testsuite is compiled beforehand and only retrieved,
since recompiling for each testrun is wasting too many cycles. I would
say that the best we can have is that UAPI headers shouldn't be newer
than running kernel.
--
Cyril Hrubis
[email protected]
On 6/22/23 16:32, Petr Vorel wrote:
>> On Wed, Jun 21, 2023 at 02:47:43PM +0200, Cyril Hrubis wrote:
>>> Hi!
>>>>> kernel test robot noticed "ltp.ioprio_set03.fail" on:
>
>>>> LTP maintainers,
>
>>>> Patches have been submitted to fix this issue. Were these patches applied ?
>
>>> Looks like they are in, at least these two:
>
>>> ioprio: use ioprio.h kernel header if it exists
>>> ioprio: Use IOPRIO_PRIO_NUM to check prio range
>
>>> And there does not seem to be anything ioprio related haning in the LTP
>>> patchwork.
>
> Hi Niklas,
>
>> Hello Cyril, Petr, Damien,
>
>
>> I just ran LTP master + linux-next and the test case passes for me.
>
>
>> Although, note that even if you are using LTP master,
>> the way that the LTP header:
>> testcases/kernel/syscalls/ioprio/ioprio.h
>> is written, you will need to run
>
>> make headers_install
>> with linux-next kernel source,
>
>> before running
>> make autotools && ./configure
>> in LTP.
>
>> Otherwise LTP will use the kernel uapi headers from your distro,
>> which does not perform the new checks for the IOPRIO_PRIO_VALUE()
>> macro. (It requires linux uapi headers from linux-next.)
>
> Yes, it should do otherwise more tests would be often broken.
>
>
>> Does the linux kernel test robot not run
>> make headers_install
>> before running
>> make autotools && ./configure
>> in LTP?
>
> I guess that's the question for Damien (I and Cyril have nothing to do with
> kernel test robot). I wonder myself.
Sorry, but I have nothing to do with the kernel robot either. I am only acting
when I get notified of a problem due to one of my patches.
--
Damien Le Moal
Western Digital Research
Hi,
On Wed, 2023-06-21 at 15:33 +0000, Niklas Cassel wrote:
> On Wed, Jun 21, 2023 at 02:47:43PM +0200, Cyril Hrubis wrote:
> > Hi!
> > > > kernel test robot noticed "ltp.ioprio_set03.fail" on:
> > >
> > > LTP maintainers,
> > >
> > > Patches have been submitted to fix this issue. Were these patches applied ?
> >
> > Looks like they are in, at least these two:
> >
> > ioprio: use ioprio.h kernel header if it exists
> > ioprio: Use IOPRIO_PRIO_NUM to check prio range
> >
> > And there does not seem to be anything ioprio related haning in the LTP
> > patchwork.
>
> Hello Cyril, Petr, Damien,
>
>
> I just ran LTP master + linux-next and the test case passes for me.
>
>
> Although, note that even if you are using LTP master,
> the way that the LTP header:
> testcases/kernel/syscalls/ioprio/ioprio.h
> is written, you will need to run
>
> make headers_install
> with linux-next kernel source,
>
> before running
> make autotools && ./configure
> in LTP.
>
> Otherwise LTP will use the kernel uapi headers from your distro,
> which does not perform the new checks for the IOPRIO_PRIO_VALUE()
> macro. (It requires linux uapi headers from linux-next.)
Sorry for the late reply. This is kernel test robot team.
Thanks a lot for this info. We followed above steps and confirmed the
test case passes after building it with the header files from linux-
next.
== before installing headers ==
ltp/testcases/kernel/syscalls/ioprio# make
ltp/testcases/kernel/syscalls/ioprio# ./ioprio_set03
tst_test.c:1558: TINFO: Timeout per run is 0h 00m 30s
ioprio_set03.c:40: TFAIL: ioprio_set IOPRIO_CLASS_BE prio 8 should not work
ioprio_set03.c:48: TINFO: tested illegal priority with class NONE
ioprio_set03.c:51: TPASS: returned correct error for wrong prio: EINVAL (22)
Summary:
passed 1
failed 1
broken 0
skipped 0
warnings 0
== after installing headers ==
linux# git checkout linux-next/master
linux# make INSTALL_HDR_PATH=/usr headers_install
INSTALL /usr/include
ltp/testcases/kernel/syscalls/ioprio# make
ltp/testcases/kernel/syscalls/ioprio# ./ioprio_set03
tst_test.c:1558: TINFO: Timeout per run is 0h 00m 30s
ioprio.h:70: TPASS: ioprio_set new class BEST-EFFORT, new prio 4
ioprio_set03.c:35: TPASS: returned correct error for wrong prio: EINVAL (22)
ioprio_set03.c:48: TINFO: tested illegal priority with class NONE
ioprio_set03.c:51: TPASS: returned correct error for wrong prio: EINVAL (22)
Summary:
passed 3
failed 0
broken 0
skipped 0
warnings 0
> Does the linux kernel test robot not run
> make headers_install
> before running
> make autotools && ./configure
> in LTP?
Thanks for Cyril's input, and indeed it is costy to recompile LTP for
the test on each kernel. Our LTP testsuite is pre-compiled in a debian
11 distribution environment with some old headers, then each test will
retrieve the pre-compiled LTP to run the testcases, so our LTP is not
compiled against the headers of the running kernel.
> One option, although I'm not sure if we want this,
> is to change
> testcases/kernel/syscalls/ioprio/ioprio.h
> to do something like:
>
> #ifndef IOPRIO_BAD_VALUE
> # define IOPRIO_BAD_VALUE(val, max) ((val) < 0 || (val) >= (max))
> #endif
>
> such that LTP does not need to be compiled against the kernel uapi
> headers that match the running kernel.
>
> But... shouldn't the installed uapi headers match the running kernel?
It requires a major change in our test flow if we want to recompile LTP
with the headers of current running kernel in each run. We will first
evaluate the feasibility of doing so in the bot. Thanks.
Best Regards,
Yujie