• Muhammad Usama Anjum's avatar
    selftests: vm: remove dependecy from internal kernel macros · 68169686
    Muhammad Usama Anjum authored
    The defination of swap() is used from kernel's internal header when this
    test is built in source tree. The build fails when this test is built
    out of source tree as defination of swap() isn't found. Selftests
    shouldn't depend on kernel's internal header files. They can only depend
    on uapi header files. Add the defination of swap() to fix the build
    error:
    
    	gcc -Wall  -I/linux_mainline2/build/usr/include -no-pie    userfaultfd.c -lrt -lpthread -o /linux_mainline2/build/kselftest/vm/userfaultfd
    	userfaultfd.c: In function ‘userfaultfd_stress’:
    	userfaultfd.c:1530:3: warning: implicit declaration of function ‘swap’; did you mean ‘swab’? [-Wimplicit-function-declaration]
    	 1530 |   swap(area_src, area_dst);
    	      |   ^~~~
    	      |   swab
    	/usr/bin/ld: /tmp/cclUUH7V.o: in function `userfaultfd_stress':
    	userfaultfd.c:(.text+0x4d64): undefined reference to `swap'
    	/usr/bin/ld: userfaultfd.c:(.text+0x4d82): undefined reference to `swap'
    	collect2: error: ld returned 1 exit status
    
    Fixes: 2c769ed7 ("tools/testing/selftests/vm/userfaultfd.c: use swap() to make code cleaner")
    Signed-off-by: default avatarMuhammad Usama Anjum <usama.anjum@collabora.com>
    Reviewed-by: default avatarAlistair Popple <apopple@nvidia.com>
    Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
    68169686
userfaultfd.c 45.1 KB