Re: [PATCH] selftests/core: fix conflicting types compile error for close_range()

From: Christian Brauner
Date: Mon Nov 01 2021 - 05:52:32 EST


On Wed, Oct 27, 2021 at 01:26:19PM -0600, Shuah Khan wrote:
> close_range() test type conflicts with close_range() library call in
> x86_64-linux-gnu/bits/unistd_ext.h. Fix it by changing the name to
> core_close_range().
>
> gcc -g -I../../../../usr/include/ close_range_test.c -o ../tools/testing/selftests/core/close_range_test
> In file included from close_range_test.c:16:
> close_range_test.c:57:6: error: conflicting types for ‘close_range’; have ‘void(struct __test_metadata *)’
> 57 | TEST(close_range)
> | ^~~~~~~~~~~
> ../kselftest_harness.h:181:21: note: in definition of macro ‘__TEST_IMPL’
> 181 | static void test_name(struct __test_metadata *_metadata); \
> | ^~~~~~~~~
> close_range_test.c:57:1: note: in expansion of macro ‘TEST’
> 57 | TEST(close_range)
> | ^~~~
> In file included from /usr/include/unistd.h:1204,
> from close_range_test.c:13:
> /usr/include/x86_64-linux-gnu/bits/unistd_ext.h:56:12: note: previous declaration of ‘close_range’ with type ‘int(unsigned int, unsigned int, int)’
> 56 | extern int close_range (unsigned int __fd, unsigned int __max_fd,
> | ^~~~~~~~~~~
>
> Signed-off-by: Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx>
> ---

Looks good. thank you!
Acked-by: Christian Brauner <christian.brauner@xxxxxxxxxx>