Re: [linux-next:master 1016/2825] make[2]: *** kselftest/livepatch/test_modules: No such file or directory. Stop.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2024-01-30 at 07:08 +0800, kernel test robot wrote:
> tree:  
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git m
> aster
> head:   596764183be8ebb13352b281a442a1f1151c9b06
> commit: c4bbe83d27c2446a033cc0381c3fb6be5e8c41c7 [1016/2825]
> livepatch: Move tests from lib/livepatch to selftests/livepatch
> compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
> reproduce (this is a W=1 build):
> (https://download.01.org/0day-ci/archive/20240130/202401300736.GkSZoS
> rA-lkp@xxxxxxxxx/reproduce)
> 
> 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 <lkp@xxxxxxxxx>
> > Closes:
> > https://lore.kernel.org/oe-kbuild-all/202401300736.GkSZoSrA-lkp@xxxxxxxxx/
> 
> All errors (new ones prefixed by >>):
> 
> > > make[2]: *** kselftest/livepatch/test_modules: No such file or
> > > directory.  Stop.
> 

I had problems to compile the bpf tests, usually resulting in errors
like this:

$ make W=1 O=/tmp/kselftest -C tools/testing/selftests/bpf            
make: Entering directory
'/home/mpdesouza/git/linux/tools/testing/selftests/bpf'
  CLNG-BPF [test_maps] connect_unix_prog.bpf.o
progs/connect_unix_prog.c:28:15: error: no member named 'uaddrlen' in
'struct bpf_sock_addr_kern'
        if (sa_kern->uaddrlen != unaddrlen)
            ~~~~~~~  ^
1 error generated.
make: *** [Makefile:619: /tmp/kselftest//connect_unix_prog.bpf.o] Error
1

But, if I simply feed the livepatch selftests as target I'm able to
trigger the problem:


$ make W=1 O=/tmp/kselftest -C tools/testing/selftests/
TARGETS=livepatch                 
make: Entering directory
'/home/mpdesouza/git/linux/tools/testing/selftests'
make[1]: Entering directory
'/home/mpdesouza/git/linux/tools/testing/selftests/livepatch'
make -C /tmp/kselftest/kselftest/livepatch/test_modules
make[2]: Entering directory
'/home/mpdesouza/git/linux/tools/testing/selftests/livepatch'
make[2]: *** /tmp/kselftest/kselftest/livepatch/test_modules: No such
file or directory.  Stop.
make[2]: Leaving directory
'/home/mpdesouza/git/linux/tools/testing/selftests/livepatch'
make[1]: *** [../lib.mk:92: gen_mods_dir] Error 2
make[1]: Leaving directory
'/home/mpdesouza/git/linux/tools/testing/selftests/livepatch'
make: *** [Makefile:180: all] Error 2
make: Leaving directory
'/home/mpdesouza/git/linux/tools/testing/selftests'

When looking at the lib.mk, I just followed the other variables and did
the same:

TEST_GEN_MODS_DIR := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_MODS_DIR))

But later on, I jump into $(TEST_GEN_MODS_DIR), which is invalid
because of the O= that is used a prefix for the path:
/tmp/kselftest/kselftest/livepatch/test_modules. My first idea was to
just remove the patsubst and take TEST_GEN_MODS_DIR, which should be
livepatch/test_modules in this case, but it then returns another
problem:


make: Entering directory
'/home/mpdesouza/git/linux/tools/testing/selftests'
make[1]: Entering directory
'/home/mpdesouza/git/linux/tools/testing/selftests/livepatch'
make -C test_modules
make[2]: Entering directory
'/home/mpdesouza/git/linux/tools/testing/selftests/livepatch/test_modul

es'
make -C /lib/modules/6.5.9-1-default/build modules
KBUILD_EXTMOD=/home/mpdesouza/git/linux/tools/testing/selftests/livepat

ch/test_modules
make[3]: Entering directory '/usr/src/linux-6.5.9-1-obj/x86_64/default'
make[4]: Entering directory '/tmp/kselftest'
/usr/src/linux-6.5.9-1/Makefile:754: include/config/auto.conf: No such
file or directory
make[4]: *** [/usr/src/linux-6.5.9-1/Makefile:234: __sub-make] Error 2
make[4]: Leaving directory '/tmp/kselftest'
make[3]: *** [../../../linux-6.5.9-1/Makefile:234: __sub-make] Error 2
make[3]: Leaving directory '/usr/src/linux-6.5.9-1-obj/x86_64/default'
make[2]: *** [Makefile:16: modules] Error 2
make[2]: Leaving directory
'/home/mpdesouza/git/linux/tools/testing/selftests/livepatch/test_modul

es'
make[1]: *** [../lib.mk:92: gen_mods_dir] Error 2
make[1]: Leaving directory
'/home/mpdesouza/git/linux/tools/testing/selftests/livepatch'
make: *** [Makefile:180: all] Error 2
make: Leaving directory
'/home/mpdesouza/git/linux/tools/testing/selftests'

Joe, Petr, Shuah,

Any ideas? I don't understand why we have that

make[4]: Entering directory '/tmp/kselftest'

I would expected that Kbuild would just spill the resulting module and
object files into the O= dir, instead of "jumping there". What am I
missing?

Thanks in advance for the help,
  Marcos







[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux