From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 075F71FB7 for ; Fri, 25 Mar 2022 01:14:16 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C645DC340EC; Fri, 25 Mar 2022 01:14:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1648170855; bh=7SRsMXupj0RrnQBFbCgm7EaGx8rN51ziwzcte7YuUT0=; h=Date:To:From:In-Reply-To:Subject:From; b=ZAYOGfQu2ixqs+qEBldHxjQP8l/cWsik8o4grOWLNJq+cZzkZr5WhieacNKcipI8Z 3gA1jgB5MgZyFBVJl06VKYaLpih3UcCXk9UmYk9GihlJ7903DrWPNGJx88RGF1q2Gu D5H50wNW05q8GeGuD63o6Okq/zClfkH0iTQuytWI= Date: Thu, 24 Mar 2022 18:14:15 -0700 To: tglx@linutronix.de,shuah@kernel.org,peterz@infradead.org,pbonzini@redhat.com,mingo@redhat.com,mic@digikod.net,matthieu.baerts@tessares.net,mathew.j.martineau@linux.intel.com,kuba@kernel.org,dvhart@infradead.org,dave@stgolabs.net,davem@davemloft.net,chi.minghao@zte.com.cn,apopple@nvidia.com,andrealmeid@collabora.com,usama.anjum@collabora.com,akpm@linux-foundation.org,patches@lists.linux.dev,linux-mm@kvack.org,mm-commits@vger.kernel.org,torvalds@linux-foundation.org,akpm@linux-foundation.org From: Andrew Morton In-Reply-To: <20220324180758.96b1ac7e17675d6bc474485e@linux-foundation.org> Subject: [patch 113/114] selftests: vm: remove dependecy from internal kernel macros Message-Id: <20220325011415.C645DC340EC@smtp.kernel.org> Precedence: bulk X-Mailing-List: patches@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: From: Muhammad Usama Anjum Subject: selftests: vm: remove dependecy from internal kernel macros 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 Link: https://lkml.kernel.org/r/20220119101531.2850400-11-usama.anjum@collabora.com Fixes: 2c769ed7137a ("tools/testing/selftests/vm/userfaultfd.c: use swap() to make code cleaner") Signed-off-by: Muhammad Usama Anjum Reviewed-by: Alistair Popple Cc: Andr Almeida Cc: Darren Hart Cc: Davidlohr Bueso Cc: "David S. Miller" Cc: Ingo Molnar Cc: Jakub Kicinski Cc: Mat Martineau Cc: Matthieu Baerts Cc: Mickal Salan Cc: Minghao Chi Cc: Paolo Bonzini Cc: Peter Zijlstra Cc: Shuah Khan Cc: Thomas Gleixner Signed-off-by: Andrew Morton --- tools/testing/selftests/vm/userfaultfd.c | 3 +++ 1 file changed, 3 insertions(+) --- a/tools/testing/selftests/vm/userfaultfd.c~selftests-vm-remove-dependecy-from-internal-kernel-macros +++ a/tools/testing/selftests/vm/userfaultfd.c @@ -122,6 +122,9 @@ struct uffd_stats { #define swap(a, b) \ do { typeof(a) __tmp = (a); (a) = (b); (b) = __tmp; } while (0) +#define swap(a, b) \ + do { typeof(a) __tmp = (a); (a) = (b); (b) = __tmp; } while (0) + const char *examples = "# Run anonymous memory test on 100MiB region with 99999 bounces:\n" "./userfaultfd anon 100 99999\n\n" _