Linux: only include cred.h if it exists 93/12593/2
authorStephan Wiesand <stephan.wiesand@desy.de>
Tue, 11 Apr 2017 09:58:55 +0000 (11:58 +0200)
committerBenjamin Kaduk <kaduk@mit.edu>
Wed, 12 Apr 2017 00:43:36 +0000 (20:43 -0400)
Commit c89fd17df1032ec2eacc0d0c9b73e19c5e8db7d2 introduced an explicit
include of linux/cred.h since the latest kernel no longer includes it
implicitly in sched.h. Alas, older kernels (like 2.6.18) don't have this
file. Add a configure test for the existence of cred.h and only include
it if actually present.

Change-Id: Ia7e38160492b1e03cdb257e4b2bef4d18c4a28fb
Reviewed-on: https://gerrit.openafs.org/12593
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Tested-by: BuildBot <buildbot@rampaginggeek.com>

acinclude.m4
src/afs/LINUX/osi_machdep.h

index 26bae1e..99a5691 100644 (file)
@@ -931,6 +931,7 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
                                                unsigned int flags])
 
                 dnl Check for header files
+                AC_CHECK_LINUX_HEADER([cred.h])
                 AC_CHECK_LINUX_HEADER([config.h])
                 AC_CHECK_LINUX_HEADER([exportfs.h])
                 AC_CHECK_LINUX_HEADER([freezer.h])
index 9d3faa9..9008f77 100644 (file)
 
 #define afs_hz HZ
 #include "h/sched.h"
-/* in case cred.h is not included in sched.h */
+/* in case cred.h is present but not included in sched.h */
+#if defined(HAVE_LINUX_CRED_H)
 #include "h/cred.h"
+#endif
 #if defined(HAVE_LINUX_CURRENT_KERNEL_TIME)
 static inline time_t osi_Time(void) {
     struct timespec xtime;