Re: [PATCH 1/7] selftest: sync: basic tests for sw_sync framework
From: Michael Ellerman
Date: Tue Sep 27 2016 - 00:23:45 EST
Emilio LÃpez <emilio.lopez@xxxxxxxxxxxxxxx> writes:
> El 22/09/16 a las 06:43, Michael Ellerman escribiÃ:
>> Emilio LÃpez <emilio.lopez@xxxxxxxxxxxxxxx> writes:
>>
>> Please don't include the *kernel* headers, they're really not meant to
>> be used in userspace programs :)
>>
>>> +CFLAGS += -I../../../../usr/include/
>>
>> That is the correct place to get them from. They'll have been put there
>> by 'make headers_install'.
>
> My inspiration here has been tools/testing/selftests/memfd/Makefile,
> which does it this way. If I only include the ones on usr then it
> doesn't build, as there's no sync_file.h available, even after running
> make headers_install. How am I supposed to use the ioctls from there?
It looks like it's missing from include/uapi/linux/Kbuild, you need to
add it to the list of exported headers:
diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild
index dd604395606b..40411b4ff012 100644
--- a/include/uapi/linux/Kbuild
+++ b/include/uapi/linux/Kbuild
@@ -397,6 +397,7 @@ header-y += stddef.h
header-y += string.h
header-y += suspend_ioctls.h
header-y += swab.h
+header-y += sync_file.h
header-y += synclink.h
header-y += sysctl.h
header-y += sysinfo.h
cheers