Hi On Wed, Jul 29, 2015 at 6:19 PM, Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> wrote: > Hi David, > > Does it make sense to build this sample when cross compiling? > > The reason I ask is that it has been breaking the linux-next build of > allmodconfig for a while now, with: > > HOSTCC samples/kdbus/kdbus-workers > samples/kdbus/kdbus-workers.c: In function ‘prime_new’: > samples/kdbus/kdbus-workers.c:934:18: error: ‘__NR_memfd_create’ undeclared (first use in this function) > p->fd = syscall(__NR_memfd_create, "prime-area", MFD_CLOEXEC); > ^ > samples/kdbus/kdbus-workers.c:934:18: note: each undeclared identifier is reported only once for each function it appears in > scripts/Makefile.host:91: recipe for target 'samples/kdbus/kdbus-workers' failed > make[2]: *** [samples/kdbus/kdbus-workers] Error 1 mips does have this syscall, so I assume the problem is out-of-date kernel headers. You can fix this by running: $ make headers_install This will put the sanitized headers in your local kernel tree "./usr/". This is preferred over "/usr" as include path for the kernel examples, hence, everything should work fine then. The kernel samples/ directory is explicitly used for example programs for the kernel. Hence, I think it is quite fine to use new kernel features. Same applies to the selftests. I'd be fine making kdbus-workers a no-op program if __NR_memfd_create is not defined. But I'm not really sure that fixes real problems. I mean, new samples and selftests will be added by other subsystems and those might as well require new kernel headers. Thanks David