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