]> git.proxmox.com Git - mirror_spl-debian.git/blobdiff - configure
Fix debian-watch-uses-insecure-uri.
[mirror_spl-debian.git] / configure
index 761fdc1ccce7c67f366ca26a55f1c2711980242a..7621ac419bf56895cf5010bcb3fc977c64117a6a 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63.
+# Generated by GNU Autoconf 2.63 for spl 0.7.11.
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
 # 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
 # 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
@@ -741,11 +741,11 @@ MAKEFLAGS=
 SHELL=${CONFIG_SHELL-/bin/sh}
 
 # Identity of this package.
 SHELL=${CONFIG_SHELL-/bin/sh}
 
 # Identity of this package.
-PACKAGE_NAME=
-PACKAGE_TARNAME=
-PACKAGE_VERSION=
-PACKAGE_STRING=
-PACKAGE_BUGREPORT=
+PACKAGE_NAME='spl'
+PACKAGE_TARNAME='spl'
+PACKAGE_VERSION='0.7.11'
+PACKAGE_STRING='spl 0.7.11'
+PACKAGE_BUGREPORT=''
 
 # Factoring default headers for most tests.
 ac_includes_default="\
 
 # Factoring default headers for most tests.
 ac_includes_default="\
@@ -787,15 +787,14 @@ ac_subst_vars='am__EXEEXT_FALSE
 am__EXEEXT_TRUE
 LTLIBOBJS
 LIBOBJS
 am__EXEEXT_TRUE
 LTLIBOBJS
 LIBOBJS
-CONFIG_KERNEL_FALSE
-CONFIG_KERNEL_TRUE
-CONFIG_USER_FALSE
-CONFIG_USER_TRUE
 DEBUG_KMEM_TRACKING
 DEBUG_KMEM
 DEBUG_KMEM_TRACKING
 DEBUG_KMEM
-DEBUG_LOG
 DEBUG_SPL
 DEBUG_CFLAGS
 DEBUG_SPL
 DEBUG_CFLAGS
+CONFIG_KERNEL_FALSE
+CONFIG_KERNEL_TRUE
+CONFIG_USER_FALSE
+CONFIG_USER_TRUE
 KERNELCPPFLAGS
 KERNELMAKE_PARAMS
 LINUX_SYMBOLS
 KERNELCPPFLAGS
 KERNELMAKE_PARAMS
 LINUX_SYMBOLS
@@ -803,12 +802,6 @@ LINUX_VERSION
 LINUX_OBJ
 LINUX
 SPL_CONFIG
 LINUX_OBJ
 LINUX
 SPL_CONFIG
-MAKEPKG_VERSION
-MAKEPKG
-HAVE_MAKEPKG
-PACMAN_VERSION
-PACMAN
-HAVE_PACMAN
 ALIEN_VERSION
 ALIEN
 HAVE_ALIEN
 ALIEN_VERSION
 ALIEN
 HAVE_ALIEN
@@ -818,6 +811,15 @@ HAVE_DPKGBUILD
 DPKG_VERSION
 DPKG
 HAVE_DPKG
 DPKG_VERSION
 DPKG
 HAVE_DPKG
+SRPM_DEFINE_COMMON
+SRPM_DEFINE_DKMS
+SRPM_DEFINE_KMOD
+SRPM_DEFINE_UTIL
+RPM_DEFINE_COMMON
+RPM_DEFINE_DKMS
+RPM_DEFINE_KMOD
+RPM_DEFINE_UTIL
+RPM_SPEC_DIR
 RPMBUILD_VERSION
 RPMBUILD
 HAVE_RPMBUILD
 RPMBUILD_VERSION
 RPMBUILD
 HAVE_RPMBUILD
@@ -826,7 +828,6 @@ RPM
 HAVE_RPM
 DEFAULT_PACKAGE
 VENDOR
 HAVE_RPM
 DEFAULT_PACKAGE
 VENDOR
-LICENSE
 CPP
 OTOOL64
 OTOOL
 CPP
 OTOOL64
 OTOOL
@@ -868,7 +869,6 @@ am__tar
 AMTAR
 am__leading_dot
 SET_MAKE
 AMTAR
 am__leading_dot
 SET_MAKE
-AWK
 mkdir_p
 MKDIR_P
 INSTALL_STRIP_PROGRAM
 mkdir_p
 MKDIR_P
 INSTALL_STRIP_PROGRAM
@@ -909,9 +909,12 @@ SPL_META_LT_CURRENT
 SPL_META_AUTHOR
 SPL_META_DATA
 SPL_META_ALIAS
 SPL_META_AUTHOR
 SPL_META_DATA
 SPL_META_ALIAS
+SPL_META_LICENSE
+RELEASE
 SPL_META_RELEASE
 SPL_META_VERSION
 SPL_META_NAME
 SPL_META_RELEASE
 SPL_META_VERSION
 SPL_META_NAME
+AWK
 target_alias
 host_alias
 build_alias
 target_alias
 host_alias
 build_alias
@@ -961,14 +964,15 @@ with_pic
 enable_fast_install
 with_gnu_ld
 enable_libtool_lock
 enable_fast_install
 with_gnu_ld
 enable_libtool_lock
+with_spec
 with_config
 with_config
+enable_linux_builtin
 with_linux
 with_linux_obj
 with_linux
 with_linux_obj
+enable_atomic_spinlocks
 enable_debug
 enable_debug
-enable_debug_log
 enable_debug_kmem
 enable_debug_kmem_tracking
 enable_debug_kmem
 enable_debug_kmem_tracking
-enable_atomic_spinlocks
 '
       ac_precious_vars='build_alias
 host_alias
 '
       ac_precious_vars='build_alias
 host_alias
@@ -1019,7 +1023,7 @@ sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
 localstatedir='${prefix}/var'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE}'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
 infodir='${datarootdir}/info'
 htmldir='${docdir}'
 dvidir='${docdir}'
 infodir='${datarootdir}/info'
 htmldir='${docdir}'
 dvidir='${docdir}'
@@ -1531,7 +1535,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures this package to adapt to many kinds of systems.
+\`configure' configures spl 0.7.11 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1579,7 +1583,7 @@ Fine tuning of the installation directories:
   --infodir=DIR           info documentation [DATAROOTDIR/info]
   --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
   --mandir=DIR            man documentation [DATAROOTDIR/man]
   --infodir=DIR           info documentation [DATAROOTDIR/info]
   --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
   --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root [DATAROOTDIR/doc/PACKAGE]
+  --docdir=DIR            documentation root [DATAROOTDIR/doc/spl]
   --htmldir=DIR           html documentation [DOCDIR]
   --dvidir=DIR            dvi documentation [DOCDIR]
   --pdfdir=DIR            pdf documentation [DOCDIR]
   --htmldir=DIR           html documentation [DOCDIR]
   --dvidir=DIR            dvi documentation [DOCDIR]
   --pdfdir=DIR            pdf documentation [DOCDIR]
@@ -1601,7 +1605,9 @@ _ACEOF
 fi
 
 if test -n "$ac_init_help"; then
 fi
 
 if test -n "$ac_init_help"; then
-
+  case $ac_init_help in
+     short | recursive ) echo "Configuration of spl 0.7.11:";;
+   esac
   cat <<\_ACEOF
 
 Optional Features:
   cat <<\_ACEOF
 
 Optional Features:
@@ -1619,13 +1625,14 @@ Optional Features:
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
   --enable-fast-install[=PKGS]
                           optimize for fast installation [default=yes]
   --disable-libtool-lock  avoid locking (might break parallel builds)
+  --enable-linux-builtin  Configure for builtin in-tree kernel modules
+                          [default=no]
+  --enable-atomic-spinlocks
+                          Atomic types use spinlocks [default=check]
   --enable-debug          Enable generic debug support [default=no]
   --enable-debug          Enable generic debug support [default=no]
-  --enable-debug-log      Enable basic debug logging [default=yes]
-  --enable-debug-kmem     Enable basic kmem accounting [default=yes]
+  --enable-debug-kmem     Enable basic kmem accounting [default=no]
   --enable-debug-kmem-tracking
                           Enable detailed kmem tracking [default=no]
   --enable-debug-kmem-tracking
                           Enable detailed kmem tracking [default=no]
-  --enable-atomic-spinlocks
-                          Atomic types use spinlocks [default=check]
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -1633,6 +1640,7 @@ Optional Packages:
   --with-pic              try to use only PIC/non-PIC objects [default=use
                           both]
   --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
   --with-pic              try to use only PIC/non-PIC objects [default=use
                           both]
   --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
+  --with-spec=SPEC        Spec files 'generic|redhat'
   --with-config=CONFIG    Config file 'kernel|user|all|srpm'
   --with-linux=PATH       Path to kernel source
   --with-linux-obj=PATH   Path to kernel build objects
   --with-config=CONFIG    Config file 'kernel|user|all|srpm'
   --with-linux=PATH       Path to kernel source
   --with-linux-obj=PATH   Path to kernel build objects
@@ -1712,7 +1720,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-configure
+spl configure 0.7.11
 generated by GNU Autoconf 2.63
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
 generated by GNU Autoconf 2.63
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1726,7 +1734,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by $as_me, which was
+It was created by spl $as_me 0.7.11, which was
 generated by GNU Autoconf 2.63.  Invocation command line was
 
   $ $0 $@
 generated by GNU Autoconf 2.63.  Invocation command line was
 
   $ $0 $@
@@ -2074,6 +2082,14 @@ fi
 
 
 
 
 
 
+
+
+
+
+
+
+
+
 
 
 
 
 
 
@@ -2093,24 +2109,57 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
+       for ac_prog in gawk mawk nawk awk
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AWK+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$AWK"; then
+  ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_AWK="$ac_prog"
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+  { $as_echo "$as_me:$LINENO: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$AWK" && break
+done
+
        { $as_echo "$as_me:$LINENO: checking metadata" >&5
 $as_echo_n "checking metadata... " >&6; }
 
        META="$srcdir/META"
        { $as_echo "$as_me:$LINENO: checking metadata" >&5
 $as_echo_n "checking metadata... " >&6; }
 
        META="$srcdir/META"
-       _spl_ac_meta_got_file=no
+       _spl_ac_meta_type="none"
        if test -f "$META"; then
        if test -f "$META"; then
-               _spl_ac_meta_got_file=yes
-
-               SPL_META_NAME=`perl -n\
-               -e "BEGIN { \\$key=shift @ARGV; }"\
-               -e "next unless s/^\s*\\$key[:=]//i;"\
-               -e "s/^((?:[^'\"#]*(?:(['\"])[^\2]*\2)*)*)#.*/\\$1/;"\
-               -e "s/^\s+//;"\
-               -e "s/\s+$//;"\
-               -e "s/^(['\"])(.*)\1/\\$2/;"\
-               -e "\\$val=\\$_;"\
-               -e "END { print \\$val if defined \\$val; }"\
-               '(?:NAME|PROJECT|PACKAGE)' $META`;
+               _spl_ac_meta_type="META file"
+
+               SPL_META_NAME=`$AWK -F ':[ \t]+' '$1 ~ /^ *(Name|Project|Package)$/ { print $2; exit }' $META`;
                if test -n "$SPL_META_NAME"; then
 
 cat >>confdefs.h <<_ACEOF
                if test -n "$SPL_META_NAME"; then
 
 cat >>confdefs.h <<_ACEOF
@@ -2120,16 +2169,7 @@ _ACEOF
 
                fi
 
 
                fi
 
-               SPL_META_VERSION=`perl -n\
-               -e "BEGIN { \\$key=shift @ARGV; }"\
-               -e "next unless s/^\s*\\$key[:=]//i;"\
-               -e "s/^((?:[^'\"#]*(?:(['\"])[^\2]*\2)*)*)#.*/\\$1/;"\
-               -e "s/^\s+//;"\
-               -e "s/\s+$//;"\
-               -e "s/^(['\"])(.*)\1/\\$2/;"\
-               -e "\\$val=\\$_;"\
-               -e "END { print \\$val if defined \\$val; }"\
-               'VERSION' $META`;
+               SPL_META_VERSION=`$AWK -F ':[ \t]+' '$1 ~ /^ *Version$/ { print $2; exit }' $META`;
                if test -n "$SPL_META_VERSION"; then
 
 cat >>confdefs.h <<_ACEOF
                if test -n "$SPL_META_VERSION"; then
 
 cat >>confdefs.h <<_ACEOF
@@ -2139,16 +2179,25 @@ _ACEOF
 
                fi
 
 
                fi
 
-               SPL_META_RELEASE=`perl -n\
-               -e "BEGIN { \\$key=shift @ARGV; }"\
-               -e "next unless s/^\s*\\$key[:=]//i;"\
-               -e "s/^((?:[^'\"#]*(?:(['\"])[^\2]*\2)*)*)#.*/\\$1/;"\
-               -e "s/^\s+//;"\
-               -e "s/\s+$//;"\
-               -e "s/^(['\"])(.*)\1/\\$2/;"\
-               -e "\\$val=\\$_;"\
-               -e "END { print \\$val if defined \\$val; }"\
-               'RELEASE' $META`;
+               SPL_META_RELEASE=`$AWK -F ':[ \t]+' '$1 ~ /^ *Release$/ { print $2; exit }' $META`;
+               if test ! -f ".nogitrelease" && git rev-parse --git-dir > /dev/null 2>&1; then
+                       _match="${SPL_META_NAME}-${SPL_META_VERSION}"
+                       _alias=$(git describe --match=${_match} 2>/dev/null)
+                       _release=$(echo ${_alias}|cut -f3- -d'-'|sed 's/-/_/g')
+                       if test -n "${_release}"; then
+                               SPL_META_RELEASE=${_release}
+                               _spl_ac_meta_type="git describe"
+                       else
+                               _match="${SPL_META_NAME}-${SPL_META_VERSION}-${SPL_META_RELEASE}"
+                               _alias=$(git describe --match=${_match} 2>/dev/null)
+                               _release=$(echo ${_alias}|cut -f3- -d'-'|sed 's/-/_/g')
+                               if test -n "${_release}"; then
+                                       SPL_META_RELEASE=${_release}
+                                       _spl_ac_meta_type="git describe"
+                               fi
+                       fi
+               fi
+
                if test -n "$SPL_META_RELEASE"; then
 
 cat >>confdefs.h <<_ACEOF
                if test -n "$SPL_META_RELEASE"; then
 
 cat >>confdefs.h <<_ACEOF
@@ -2156,6 +2205,19 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 
 
 _ACEOF
 
 
+
+                       RELEASE="$SPL_META_RELEASE"
+
+               fi
+
+               SPL_META_LICENSE=`$AWK -F ':[ \t]+' '$1 ~ /^ *License$/ { print $2; exit }' $META`;
+               if test -n "$SPL_META_LICENSE"; then
+
+cat >>confdefs.h <<_ACEOF
+#define SPL_META_LICENSE "$SPL_META_LICENSE"
+_ACEOF
+
+
                fi
 
                if test -n "$SPL_META_NAME" -a -n "$SPL_META_VERSION"; then
                fi
 
                if test -n "$SPL_META_NAME" -a -n "$SPL_META_VERSION"; then
@@ -2170,16 +2232,7 @@ _ACEOF
 
                fi
 
 
                fi
 
-               SPL_META_DATA=`perl -n\
-               -e "BEGIN { \\$key=shift @ARGV; }"\
-               -e "next unless s/^\s*\\$key[:=]//i;"\
-               -e "s/^((?:[^'\"#]*(?:(['\"])[^\2]*\2)*)*)#.*/\\$1/;"\
-               -e "s/^\s+//;"\
-               -e "s/\s+$//;"\
-               -e "s/^(['\"])(.*)\1/\\$2/;"\
-               -e "\\$val=\\$_;"\
-               -e "END { print \\$val if defined \\$val; }"\
-               'DATE' $META`;
+               SPL_META_DATA=`$AWK -F ':[ \t]+' '$1 ~ /^ *Date$/ { print $2; exit }' $META`;
                if test -n "$SPL_META_DATA"; then
 
 cat >>confdefs.h <<_ACEOF
                if test -n "$SPL_META_DATA"; then
 
 cat >>confdefs.h <<_ACEOF
@@ -2189,16 +2242,7 @@ _ACEOF
 
                fi
 
 
                fi
 
-               SPL_META_AUTHOR=`perl -n\
-               -e "BEGIN { \\$key=shift @ARGV; }"\
-               -e "next unless s/^\s*\\$key[:=]//i;"\
-               -e "s/^((?:[^'\"#]*(?:(['\"])[^\2]*\2)*)*)#.*/\\$1/;"\
-               -e "s/^\s+//;"\
-               -e "s/\s+$//;"\
-               -e "s/^(['\"])(.*)\1/\\$2/;"\
-               -e "\\$val=\\$_;"\
-               -e "END { print \\$val if defined \\$val; }"\
-               'AUTHOR' $META`;
+               SPL_META_AUTHOR=`$AWK -F ':[ \t]+' '$1 ~ /^ *Author$/ { print $2; exit }' $META`;
                if test -n "$SPL_META_AUTHOR"; then
 
 cat >>confdefs.h <<_ACEOF
                if test -n "$SPL_META_AUTHOR"; then
 
 cat >>confdefs.h <<_ACEOF
@@ -2209,36 +2253,9 @@ _ACEOF
                fi
 
 
                fi
 
 
-               SPL_META_LT_CURRENT=`perl -n\
-               -e "BEGIN { \\$key=shift @ARGV; }"\
-               -e "next unless s/^\s*\\$key[:=]//i;"\
-               -e "s/^((?:[^'\"#]*(?:(['\"])[^\2]*\2)*)*)#.*/\\$1/;"\
-               -e "s/^\s+//;"\
-               -e "s/\s+$//;"\
-               -e "s/^(['\"])(.*)\1/\\$2/;"\
-               -e "\\$val=\\$_;"\
-               -e "END { print \\$val if defined \\$val; }"\
-               'LT_CURRENT' $META`;
-               SPL_META_LT_REVISION=`perl -n\
-               -e "BEGIN { \\$key=shift @ARGV; }"\
-               -e "next unless s/^\s*\\$key[:=]//i;"\
-               -e "s/^((?:[^'\"#]*(?:(['\"])[^\2]*\2)*)*)#.*/\\$1/;"\
-               -e "s/^\s+//;"\
-               -e "s/\s+$//;"\
-               -e "s/^(['\"])(.*)\1/\\$2/;"\
-               -e "\\$val=\\$_;"\
-               -e "END { print \\$val if defined \\$val; }"\
-               'LT_REVISION' $META`;
-               SPL_META_LT_AGE=`perl -n\
-               -e "BEGIN { \\$key=shift @ARGV; }"\
-               -e "next unless s/^\s*\\$key[:=]//i;"\
-               -e "s/^((?:[^'\"#]*(?:(['\"])[^\2]*\2)*)*)#.*/\\$1/;"\
-               -e "s/^\s+//;"\
-               -e "s/\s+$//;"\
-               -e "s/^(['\"])(.*)\1/\\$2/;"\
-               -e "\\$val=\\$_;"\
-               -e "END { print \\$val if defined \\$val; }"\
-               'LT_AGE' $META`;
+               SPL_META_LT_CURRENT=`$AWK -F ':[ \t]+' '$1 ~ /^ *LT_Current$/ { print $2; exit }' $META`;
+               SPL_META_LT_REVISION=`$AWK -F ':[ \t]+' '$1 ~ /^ *LT_Revision$/ { print $2; exit }' $META`;
+               SPL_META_LT_AGE=`$AWK -F ':[ \t]+' '$1 ~ /^ *LT_Age$/ { print $2; exit }' $META`;
                if test -n "$SPL_META_LT_CURRENT" \
                                 -o -n "$SPL_META_LT_REVISION" \
                                 -o -n "$SPL_META_LT_AGE"; then
                if test -n "$SPL_META_LT_CURRENT" \
                                 -o -n "$SPL_META_LT_REVISION" \
                                 -o -n "$SPL_META_LT_AGE"; then
@@ -2266,8 +2283,8 @@ _ACEOF
                fi
        fi
 
                fi
        fi
 
-       { $as_echo "$as_me:$LINENO: result: $_spl_ac_meta_got_file" >&5
-$as_echo "$_spl_ac_meta_got_file" >&6; }
+       { $as_echo "$as_me:$LINENO: result: $_spl_ac_meta_type" >&5
+$as_echo "$_spl_ac_meta_type" >&6; }
 
 
 ac_aux_dir=
 
 
 ac_aux_dir=
@@ -2301,6 +2318,7 @@ ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
 ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
 
 
 ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
 
 
+
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
   { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
   { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
@@ -2458,7 +2476,7 @@ fi
 case $enable_silent_rules in
 yes) AM_DEFAULT_VERBOSITY=0;;
 no)  AM_DEFAULT_VERBOSITY=1;;
 case $enable_silent_rules in
 yes) AM_DEFAULT_VERBOSITY=0;;
 no)  AM_DEFAULT_VERBOSITY=1;;
-*)   AM_DEFAULT_VERBOSITY=1;;
+*)   AM_DEFAULT_VERBOSITY=0;;
 esac
 AM_BACKSLASH='\'
 
 esac
 AM_BACKSLASH='\'
 
@@ -2806,48 +2824,6 @@ case $mkdir_p in
   */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
 esac
 
   */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
 esac
 
-for ac_prog in gawk mawk nawk awk
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AWK"; then
-  ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
-  { $as_echo "$as_me:$LINENO: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$AWK" && break
-done
-
 { $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
 set x ${MAKE-make}
 { $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
 set x ${MAKE-make}
@@ -2911,8 +2887,8 @@ fi
 
 
 # Define the identity of the package.
 
 
 # Define the identity of the package.
- PACKAGE=$SPL_META_NAME
- VERSION=$SPL_META_VERSION
+ PACKAGE='spl'
+ VERSION='0.7.11'
 
 
 cat >>confdefs.h <<_ACEOF
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4789,13 +4765,13 @@ if test "${lt_cv_nm_interface+set}" = set; then
 else
   lt_cv_nm_interface="BSD nm"
   echo "int some_variable = 0;" > conftest.$ac_ext
 else
   lt_cv_nm_interface="BSD nm"
   echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:4792: $ac_compile\"" >&5)
+  (eval echo "\"\$as_me:4768: $ac_compile\"" >&5)
   (eval "$ac_compile" 2>conftest.err)
   cat conftest.err >&5
   (eval "$ac_compile" 2>conftest.err)
   cat conftest.err >&5
-  (eval echo "\"\$as_me:4795: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+  (eval echo "\"\$as_me:4771: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
   (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
   cat conftest.err >&5
   (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
   cat conftest.err >&5
-  (eval echo "\"\$as_me:4798: output\"" >&5)
+  (eval echo "\"\$as_me:4774: output\"" >&5)
   cat conftest.out >&5
   if $GREP 'External.*some_variable' conftest.out > /dev/null; then
     lt_cv_nm_interface="MS dumpbin"
   cat conftest.out >&5
   if $GREP 'External.*some_variable' conftest.out > /dev/null; then
     lt_cv_nm_interface="MS dumpbin"
@@ -6001,7 +5977,7 @@ ia64-*-hpux*)
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 6004 "configure"' > conftest.$ac_ext
+  echo '#line 5980 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -7829,6 +7805,10 @@ _lt_linker_boilerplate=`cat conftest.err`
 $RM -r conftest*
 
 
 $RM -r conftest*
 
 
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
 if test -n "$compiler"; then
 
 lt_prog_compiler_no_builtin_flag=
 if test -n "$compiler"; then
 
 lt_prog_compiler_no_builtin_flag=
@@ -7854,11 +7834,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:7857: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:7837: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:7861: \$? = $ac_status" >&5
+   echo "$as_me:7841: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -8193,11 +8173,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:8196: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:8176: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:8200: \$? = $ac_status" >&5
+   echo "$as_me:8180: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
    if (exit $ac_status) && test -s "$ac_outfile"; then
      # The compiler can only warn and ignore the option if not recognized
      # So say no if there are warnings other than the usual output.
@@ -8298,11 +8278,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:8301: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:8281: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:8305: \$? = $ac_status" >&5
+   echo "$as_me:8285: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -8353,11 +8333,11 @@ else
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
    -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:8356: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:8336: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:8360: \$? = $ac_status" >&5
+   echo "$as_me:8340: \$? = $ac_status" >&5
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
    if (exit $ac_status) && test -s out/conftest2.$ac_objext
    then
      # The compiler can only warn and ignore the option if not recognized
@@ -11156,7 +11136,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11159 "configure"
+#line 11139 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11252,7 +11232,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11255 "configure"
+#line 11235 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11481,13 +11461,15 @@ CC="$lt_save_CC"
 
 
 
 
 
 
+       { $as_echo "$as_me:$LINENO: checking spl author" >&5
+$as_echo_n "checking spl author... " >&6; }
+       { $as_echo "$as_me:$LINENO: result: $SPL_META_AUTHOR" >&5
+$as_echo "$SPL_META_AUTHOR" >&6; }
+
        { $as_echo "$as_me:$LINENO: checking spl license" >&5
 $as_echo_n "checking spl license... " >&6; }
        { $as_echo "$as_me:$LINENO: checking spl license" >&5
 $as_echo_n "checking spl license... " >&6; }
-       LICENSE=GPL
-       { $as_echo "$as_me:$LINENO: result: $LICENSE" >&5
-$as_echo "$LICENSE" >&6; }
-       KERNELCPPFLAGS="${KERNELCPPFLAGS} -DHAVE_GPL_ONLY_SYMBOLS"
-
+       { $as_echo "$as_me:$LINENO: result: $SPL_META_LICENSE" >&5
+$as_echo "$SPL_META_LICENSE" >&6; }
 
 
 
 
 
 
@@ -11527,7 +11509,7 @@ $as_echo_n "checking default package type... " >&6; }
                redhat)     DEFAULT_PACKAGE=rpm  ;;
                fedora)     DEFAULT_PACKAGE=rpm  ;;
                gentoo)     DEFAULT_PACKAGE=tgz  ;;
                redhat)     DEFAULT_PACKAGE=rpm  ;;
                fedora)     DEFAULT_PACKAGE=rpm  ;;
                gentoo)     DEFAULT_PACKAGE=tgz  ;;
-               arch)       DEFAULT_PACKAGE=arch ;;
+               arch)       DEFAULT_PACKAGE=tgz  ;;
                sles)       DEFAULT_PACKAGE=rpm  ;;
                slackware)  DEFAULT_PACKAGE=tgz  ;;
                lunar)      DEFAULT_PACKAGE=tgz  ;;
                sles)       DEFAULT_PACKAGE=rpm  ;;
                slackware)  DEFAULT_PACKAGE=tgz  ;;
                lunar)      DEFAULT_PACKAGE=tgz  ;;
@@ -11580,6 +11562,42 @@ $as_echo "$HAVE_RPMBUILD" >&6; }
 fi
 
 
 fi
 
 
+       RPM_DEFINE_COMMON='--define "$(DEBUG_SPL) 1"'
+       RPM_DEFINE_COMMON+=' --define "$(DEBUG_KMEM) 1"'
+       RPM_DEFINE_COMMON+=' --define "$(DEBUG_KMEM_TRACKING) 1"'
+       RPM_DEFINE_UTIL=
+       RPM_DEFINE_KMOD='--define "kernels $(LINUX_VERSION)"'
+       RPM_DEFINE_KMOD+=' --define "_wrong_version_format_terminate_build 0"'
+       RPM_DEFINE_DKMS=
+
+       SRPM_DEFINE_COMMON='--define "build_src_rpm 1"'
+       SRPM_DEFINE_UTIL=
+       SRPM_DEFINE_KMOD=
+       SRPM_DEFINE_DKMS=
+
+       RPM_SPEC_DIR="rpm/generic"
+
+# Check whether --with-spec was given.
+if test "${with_spec+set}" = set; then
+  withval=$with_spec; RPM_SPEC_DIR="rpm/$withval"
+fi
+
+
+       { $as_echo "$as_me:$LINENO: checking whether spec files are available" >&5
+$as_echo_n "checking whether spec files are available... " >&6; }
+       { $as_echo "$as_me:$LINENO: result: yes ($RPM_SPEC_DIR/*.spec.in)" >&5
+$as_echo "yes ($RPM_SPEC_DIR/*.spec.in)" >&6; }
+
+
+
+
+
+
+
+
+
+
+
 
 
 
 
 
 
 
 
 
 
 
 
-       if test "$VENDOR" = "arch"; then
-
-       PACMAN=pacman
-       MAKEPKG=makepkg
-
-       { $as_echo "$as_me:$LINENO: checking whether $PACMAN is available" >&5
-$as_echo_n "checking whether $PACMAN is available... " >&6; }
-       tmp=$($PACMAN --version 2>/dev/null)
-       if test -n "$tmp"; then
-
-               PACMAN_VERSION=$(echo $tmp |
-                                $AWK '/Pacman/ { print $3 }' |
-                                $SED 's/^v//')
-               HAVE_PACMAN=yes
-               { $as_echo "$as_me:$LINENO: result: $HAVE_PACMAN ($PACMAN_VERSION)" >&5
-$as_echo "$HAVE_PACMAN ($PACMAN_VERSION)" >&6; }
-
-else
-
-               HAVE_PACMAN=no
-               { $as_echo "$as_me:$LINENO: result: $HAVE_PACMAN" >&5
-$as_echo "$HAVE_PACMAN" >&6; }
-
-fi
-
-
-       { $as_echo "$as_me:$LINENO: checking whether $MAKEPKG is available" >&5
-$as_echo_n "checking whether $MAKEPKG is available... " >&6; }
-       tmp=$($MAKEPKG --version 2>/dev/null)
-       if test -n "$tmp"; then
-
-               MAKEPKG_VERSION=$(echo $tmp | $AWK '/makepkg/ { print $3 }')
-               HAVE_MAKEPKG=yes
-               { $as_echo "$as_me:$LINENO: result: $HAVE_MAKEPKG ($MAKEPKG_VERSION)" >&5
-$as_echo "$HAVE_MAKEPKG ($MAKEPKG_VERSION)" >&6; }
-
-else
-
-               HAVE_MAKEPKG=no
-               { $as_echo "$as_me:$LINENO: result: $HAVE_MAKEPKG" >&5
-$as_echo "$HAVE_MAKEPKG" >&6; }
-
-fi
-
-
-
-
-
-
-
-
-
-
-fi
-
-
 
 
-        SPL_CONFIG=all
+       SPL_CONFIG=all
 
 # Check whether --with-config was given.
 if test "${with_config+set}" = set; then
   withval=$with_config; SPL_CONFIG="$withval"
 fi
 
 
 # Check whether --with-config was given.
 if test "${with_config+set}" = set; then
   withval=$with_config; SPL_CONFIG="$withval"
 fi
 
+       # Check whether --enable-linux-builtin was given.
+if test "${enable_linux_builtin+set}" = set; then
+  enableval=$enable_linux_builtin;
+else
+  enable_linux_builtin=no
+fi
+
 
 
-        { $as_echo "$as_me:$LINENO: checking spl config" >&5
+       { $as_echo "$as_me:$LINENO: checking spl config" >&5
 $as_echo_n "checking spl config... " >&6; }
 $as_echo_n "checking spl config... " >&6; }
-        { $as_echo "$as_me:$LINENO: result: $SPL_CONFIG" >&5
+       { $as_echo "$as_me:$LINENO: result: $SPL_CONFIG" >&5
 $as_echo "$SPL_CONFIG" >&6; };
 
 
 $as_echo "$SPL_CONFIG" >&6; };
 
 
-        case "$SPL_CONFIG" in
-                kernel)
+       case "$SPL_CONFIG" in
+               kernel)
 
 
 # Check whether --with-linux was given.
 
 
 # Check whether --with-linux was given.
@@ -11762,37 +11731,40 @@ $as_echo_n "checking kernel source directory... " >&6; }
                        sourcelink=$(readlink -f "$headersdir")
                else
                        sourcelink=$(ls -1d /usr/src/kernels/* \
                        sourcelink=$(readlink -f "$headersdir")
                else
                        sourcelink=$(ls -1d /usr/src/kernels/* \
-                                    /usr/src/linux-* \
+                                    /usr/src/linux-* \
                                     2>/dev/null | grep -v obj | tail -1)
                fi
 
                if test -n "$sourcelink" && test -e ${sourcelink}; then
                        kernelsrc=`readlink -f ${sourcelink}`
                else
                                     2>/dev/null | grep -v obj | tail -1)
                fi
 
                if test -n "$sourcelink" && test -e ${sourcelink}; then
                        kernelsrc=`readlink -f ${sourcelink}`
                else
-                       { $as_echo "$as_me:$LINENO: result: Not found" >&5
-$as_echo "Not found" >&6; }
-                       { { $as_echo "$as_me:$LINENO: error:
-       *** Please make sure the kernel devel package for your distribution
-       *** is installed then try again.  If that fails you can specify the
-       *** location of the kernel source with the '--with-linux=PATH' option." >&5
-$as_echo "$as_me: error:
-       *** Please make sure the kernel devel package for your distribution
-       *** is installed then try again.  If that fails you can specify the
-       *** location of the kernel source with the '--with-linux=PATH' option." >&2;}
-   { (exit 1); exit 1; }; }
+                       kernelsrc="Not found"
                fi
        else
                if test "$kernelsrc" = "NONE"; then
                        kernsrcver=NONE
                fi
                fi
        else
                if test "$kernelsrc" = "NONE"; then
                        kernsrcver=NONE
                fi
+               withlinux=yes
        fi
 
        { $as_echo "$as_me:$LINENO: result: $kernelsrc" >&5
 $as_echo "$kernelsrc" >&6; }
        fi
 
        { $as_echo "$as_me:$LINENO: result: $kernelsrc" >&5
 $as_echo "$kernelsrc" >&6; }
+       if test ! -d "$kernelsrc"; then
+               { { $as_echo "$as_me:$LINENO: error:
+       *** Please make sure the kernel devel package for your distribution
+       *** is installed and then try again.  If that fails, you can specify the
+       *** location of the kernel source with the '--with-linux=PATH' option." >&5
+$as_echo "$as_me: error:
+       *** Please make sure the kernel devel package for your distribution
+       *** is installed and then try again.  If that fails, you can specify the
+       *** location of the kernel source with the '--with-linux=PATH' option." >&2;}
+   { (exit 1); exit 1; }; }
+       fi
+
        { $as_echo "$as_me:$LINENO: checking kernel build directory" >&5
 $as_echo_n "checking kernel build directory... " >&6; }
        if test -z "$kernelbuild"; then
        { $as_echo "$as_me:$LINENO: checking kernel build directory" >&5
 $as_echo_n "checking kernel build directory... " >&6; }
        if test -z "$kernelbuild"; then
-               if test -e "/lib/modules/$(uname -r)/build"; then
+               if test x$withlinux != xyes -a -e "/lib/modules/$(uname -r)/build"; then
                        kernelbuild=`readlink -f /lib/modules/$(uname -r)/build`
                elif test -d ${kernelsrc}-obj/${target_cpu}/${target_cpu}; then
                        kernelbuild=${kernelsrc}-obj/${target_cpu}/${target_cpu}
                        kernelbuild=`readlink -f /lib/modules/$(uname -r)/build`
                elif test -d ${kernelsrc}-obj/${target_cpu}/${target_cpu}; then
                        kernelbuild=${kernelsrc}-obj/${target_cpu}/${target_cpu}
@@ -11836,9 +11808,19 @@ $as_echo "$as_me: error: *** Cannot determine kernel version." >&2;}
        else
                { $as_echo "$as_me:$LINENO: result: Not found" >&5
 $as_echo "Not found" >&6; }
        else
                { $as_echo "$as_me:$LINENO: result: Not found" >&5
 $as_echo "Not found" >&6; }
-               { { $as_echo "$as_me:$LINENO: error: *** Cannot find UTS_RELEASE definition." >&5
+               if test "x$enable_linux_builtin" != xyes; then
+                       { { $as_echo "$as_me:$LINENO: error: *** Cannot find UTS_RELEASE definition." >&5
 $as_echo "$as_me: error: *** Cannot find UTS_RELEASE definition." >&2;}
    { (exit 1); exit 1; }; }
 $as_echo "$as_me: error: *** Cannot find UTS_RELEASE definition." >&2;}
    { (exit 1); exit 1; }; }
+               else
+                       { { $as_echo "$as_me:$LINENO: error:
+       *** Cannot find UTS_RELEASE definition.
+       *** Please run 'make prepare' inside the kernel source tree." >&5
+$as_echo "$as_me: error:
+       *** Cannot find UTS_RELEASE definition.
+       *** Please run 'make prepare' inside the kernel source tree." >&2;}
+   { (exit 1); exit 1; }; }
+               fi
        fi
 
        { $as_echo "$as_me:$LINENO: result: $kernsrcver" >&5
        fi
 
        { $as_echo "$as_me:$LINENO: result: $kernsrcver" >&5
@@ -11856,7 +11838,7 @@ $as_echo "$kernsrcver" >&6; }
        modpost=$LINUX/scripts/Makefile.modpost
        { $as_echo "$as_me:$LINENO: checking kernel file name for module symbols" >&5
 $as_echo_n "checking kernel file name for module symbols... " >&6; }
        modpost=$LINUX/scripts/Makefile.modpost
        { $as_echo "$as_me:$LINENO: checking kernel file name for module symbols" >&5
 $as_echo_n "checking kernel file name for module symbols... " >&6; }
-       if test -f "$modpost"; then
+       if test "x$enable_linux_builtin" != xyes -a -f "$modpost"; then
                if grep -q Modules.symvers $modpost; then
                        LINUX_SYMBOLS=Modules.symvers
                else
                if grep -q Modules.symvers $modpost; then
                        LINUX_SYMBOLS=Modules.symvers
                else
@@ -11866,12 +11848,12 @@ $as_echo_n "checking kernel file name for module symbols... " >&6; }
                if ! test -f "$LINUX_OBJ/$LINUX_SYMBOLS"; then
                        { { $as_echo "$as_me:$LINENO: error:
        *** Please make sure the kernel devel package for your distribution
                if ! test -f "$LINUX_OBJ/$LINUX_SYMBOLS"; then
                        { { $as_echo "$as_me:$LINENO: error:
        *** Please make sure the kernel devel package for your distribution
-       *** is installed.  If your building with a custom kernel make sure the
+       *** is installed.  If you are building with a custom kernel, make sure the
        *** kernel is configured, built, and the '--with-linux=PATH' configure
        *** option refers to the location of the kernel source." >&5
 $as_echo "$as_me: error:
        *** Please make sure the kernel devel package for your distribution
        *** kernel is configured, built, and the '--with-linux=PATH' configure
        *** option refers to the location of the kernel source." >&5
 $as_echo "$as_me: error:
        *** Please make sure the kernel devel package for your distribution
-       *** is installed.  If your building with a custom kernel make sure the
+       *** is installed.  If you are building with a custom kernel, make sure the
        *** kernel is configured, built, and the '--with-linux=PATH' configure
        *** option refers to the location of the kernel source." >&2;}
    { (exit 1); exit 1; }; }
        *** kernel is configured, built, and the '--with-linux=PATH' configure
        *** option refers to the location of the kernel source." >&2;}
    { (exit 1); exit 1; }; }
@@ -11885,8 +11867,16 @@ $as_echo "$LINUX_SYMBOLS" >&6; }
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether Linux was built with CONFIG_PREEMPT" >&5
-$as_echo_n "checking whether Linux was built with CONFIG_PREEMPT... " >&6; }
+       if test "${LINUX_OBJ}" != "${LINUX}"; then
+               KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ"
+       fi
+
+
+       KERNELCPPFLAGS="$KERNELCPPFLAGS -Wstrict-prototypes"
+
+
+       { $as_echo "$as_me:$LINENO: checking whether modules can be built" >&5
+$as_echo_n "checking whether modules can be built... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -11897,16 +11887,10 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/module.h>
-
 int
 main (void)
 {
 
 int
 main (void)
 {
 
-               #ifndef CONFIG_PREEMPT
-               #error CONFIG_PREEMPT not #defined
-               #endif
-
   ;
   return 0;
 }
   ;
   return 0;
 }
@@ -11914,9 +11898,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -11930,13 +11916,6 @@ _ACEOF
 
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
-               { { $as_echo "$as_me:$LINENO: error:
-               *** Kernel built with CONFIG_PREEMPT which is not supported.
-               ** You must rebuild your kernel without this option." >&5
-$as_echo "$as_me: error:
-               *** Kernel built with CONFIG_PREEMPT which is not supported.
-               ** You must rebuild your kernel without this option." >&2;}
-   { (exit 1); exit 1; }; }
 
 else
   $as_echo "$as_me: failed program was:" >&5
 
 else
   $as_echo "$as_me: failed program was:" >&5
@@ -11944,7 +11923,19 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
-
+               if test "x$enable_linux_builtin" != xyes; then
+                       { { $as_echo "$as_me:$LINENO: error: *** Unable to build an empty module." >&5
+$as_echo "$as_me: error: *** Unable to build an empty module." >&2;}
+   { (exit 1); exit 1; }; }
+               else
+                       { { $as_echo "$as_me:$LINENO: error:
+       *** Unable to build an empty module.
+       *** Please run 'make scripts' inside the kernel source tree." >&5
+$as_echo "$as_me: error:
+       *** Unable to build an empty module.
+       *** Please run 'make scripts' inside the kernel source tree." >&2;}
+   { (exit 1); exit 1; }; }
+               fi
 
 
 
 
 
 
 
 
 
 
 
 
+       if test "x$cross_compiling" != xyes; then
 
 
-
-       if test "${LINUX_OBJ}" != "${LINUX}"; then
-               KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ"
-       fi
-
-
-       KERNELCPPFLAGS="$KERNELCPPFLAGS -Wstrict-prototypes"
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether debugging is enabled" >&5
-$as_echo_n "checking whether debugging is enabled... " >&6; }
-       # Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then
-  enableval=$enable_debug;
+               if test "$cross_compiling" = yes; then
+  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot run test program while cross compiling
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }; }
 else
 else
-  enable_debug=no
-fi
-
+  cat >conftest.$ac_ext <<_ACEOF
 
 
-       if test "x$enable_debug" = xyes; then
+                       /* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
 
-               KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG -Werror"
-               DEBUG_CFLAGS="-DDEBUG -Werror"
-               DEBUG_SPL="_with_debug"
+                               #include "$LINUX/include/linux/license.h"
 
 
-else
+int
+main ()
+{
 
 
-               KERNELCPPFLAGS="${KERNELCPPFLAGS} -DNDEBUG"
-               DEBUG_CFLAGS="-DNDEBUG"
-               DEBUG_SPL="_without_debug"
+                               return !license_is_gpl_compatible(
+                                   "$SPL_META_LICENSE");
 
 
-fi
-
-
-
-
-       { $as_echo "$as_me:$LINENO: result: $enable_debug" >&5
-$as_echo "$enable_debug" >&6; }
-
-
-       # Check whether --enable-debug-log was given.
-if test "${enable_debug_log+set}" = set; then
-  enableval=$enable_debug_log;
-else
-  enable_debug_log=yes
-fi
-
-
-       if test "x$enable_debug_log" = xyes; then
-
-               KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG_LOG"
-               DEBUG_LOG="_with_debug_log"
+  ;
+  return 0;
+}
 
 
-cat >>confdefs.h <<\_ACEOF
-#define DEBUG_LOG 1
 _ACEOF
 _ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
 
 
 
 
-else
-
-               DEBUG_LOG="_without_debug_log"
-
-fi
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether basic debug logging is enabled" >&5
-$as_echo_n "checking whether basic debug logging is enabled... " >&6; }
-       { $as_echo "$as_me:$LINENO: result: $enable_debug_log" >&5
-$as_echo "$enable_debug_log" >&6; }
-
-
-       # Check whether --enable-debug-kmem was given.
-if test "${enable_debug_kmem+set}" = set; then
-  enableval=$enable_debug_kmem;
-else
-  enable_debug_kmem=yes
-fi
-
-
-       if test "x$enable_debug_kmem" = xyes; then
-
-               KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG_KMEM"
-               DEBUG_KMEM="_with_debug_kmem"
-
 cat >>confdefs.h <<\_ACEOF
 cat >>confdefs.h <<\_ACEOF
-#define DEBUG_KMEM 1
+#define SPL_IS_GPL_COMPATIBLE 1
 _ACEOF
 
 
 else
 _ACEOF
 
 
 else
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
 
-               DEBUG_KMEM="_without_debug_kmem"
-
-fi
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether basic kmem accounting is enabled" >&5
-$as_echo_n "checking whether basic kmem accounting is enabled... " >&6; }
-       { $as_echo "$as_me:$LINENO: result: $enable_debug_kmem" >&5
-$as_echo "$enable_debug_kmem" >&6; }
+( exit $ac_status )
 
 
 
 
-       # Check whether --enable-debug-kmem-tracking was given.
-if test "${enable_debug_kmem_tracking+set}" = set; then
-  enableval=$enable_debug_kmem_tracking;
-else
-  enable_debug_kmem_tracking=no
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 
 
 fi
 
 
-       if test "x$enable_debug_kmem_tracking" = xyes; then
-
-               KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG_KMEM_TRACKING"
-               DEBUG_KMEM_TRACKING="_with_debug_kmem_tracking"
-
-cat >>confdefs.h <<\_ACEOF
-#define DEBUG_KMEM_TRACKING 1
-_ACEOF
-
-
-else
-
-               DEBUG_KMEM_TRACKING="_without_debug_kmem_tracking"
 
 fi
 
 
 
 
 fi
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether detailed kmem tracking is enabled" >&5
-$as_echo_n "checking whether detailed kmem tracking is enabled... " >&6; }
-       { $as_echo "$as_me:$LINENO: result: $enable_debug_kmem_tracking" >&5
-$as_echo "$enable_debug_kmem_tracking" >&6; }
-
-
        # Check whether --enable-atomic-spinlocks was given.
 if test "${enable_atomic_spinlocks+set}" = set; then
   enableval=$enable_atomic_spinlocks;
        # Check whether --enable-atomic-spinlocks was given.
 if test "${enable_atomic_spinlocks+set}" = set; then
   enableval=$enable_atomic_spinlocks;
@@ -12110,7 +12044,7 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <asm/atomic.h>
+               #include <linux/fs.h>
 
 int
 main (void)
 
 int
 main (void)
@@ -12125,9 +12059,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12212,8 +12148,11 @@ $as_echo_n "checking whether kernel defines atomic64_t... " >&6; }
        { $as_echo "$as_me:$LINENO: result: $have_atomic64_t" >&5
 $as_echo "$have_atomic64_t" >&6; }
 
        { $as_echo "$as_me:$LINENO: result: $have_atomic64_t" >&5
 $as_echo "$have_atomic64_t" >&6; }
 
-       { $as_echo "$as_me:$LINENO: checking whether kernel defines atomic64_cmpxchg" >&5
-$as_echo_n "checking whether kernel defines atomic64_cmpxchg... " >&6; }
+
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
+                                       { $as_echo "$as_me:$LINENO: checking whether old 2-argument shrinker exists" >&5
+$as_echo_n "checking whether old 2-argument shrinker exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -12224,14 +12163,19 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <asm/atomic.h>
-               #include <asm/system.h>
+               #include <linux/mm.h>
+
+               int shrinker_cb(int nr_to_scan, gfp_t gfp_mask);
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               atomic64_cmpxchg((atomic64_t *)NULL, 0, 0);
+               struct shrinker cache_shrinker = {
+                       .shrink = shrinker_cb,
+                       .seeks = DEFAULT_SEEKS,
+               };
+               register_shrinker(&cache_shrinker);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -12240,9 +12184,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12258,7 +12204,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_ATOMIC64_CMPXCHG 1
+#define HAVE_2ARGS_OLD_SHRINKER_CALLBACK 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -12268,17 +12214,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
-
-
-
-fi
-
-       rm -Rf build
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether kernel defines atomic64_xchg" >&5
-$as_echo_n "checking whether kernel defines atomic64_xchg... " >&6; }
+                                                                                               { $as_echo "$as_me:$LINENO: checking whether old 3-argument shrinker exists" >&5
+$as_echo_n "checking whether old 3-argument shrinker exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -12289,13 +12226,20 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <asm/atomic.h>
+                       #include <linux/mm.h>
+
+                       int shrinker_cb(struct shrinker *, int nr_to_scan,
+                                       gfp_t gfp_mask);
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               atomic64_xchg((atomic64_t *)NULL, 0);
+                       struct shrinker cache_shrinker = {
+                               .shrink = shrinker_cb,
+                               .seeks = DEFAULT_SEEKS,
+                       };
+                       register_shrinker(&cache_shrinker);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -12304,9 +12248,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12318,11 +12264,11 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
+                       { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_ATOMIC64_XCHG 1
+#define HAVE_3ARGS_SHRINKER_CALLBACK 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -12330,19 +12276,10 @@ else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-               { $as_echo "$as_me:$LINENO: result: no" >&5
+                       { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 $as_echo "no" >&6; }
-
-
-
-fi
-
-       rm -Rf build
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether kernel defines uintptr_t" >&5
-$as_echo_n "checking whether kernel defines uintptr_t... " >&6; }
+                                                                                                                                               { $as_echo "$as_me:$LINENO: checking whether new 2-argument shrinker exists" >&5
+$as_echo_n "checking whether new 2-argument shrinker exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -12353,13 +12290,20 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/types.h>
+                               #include <linux/mm.h>
+
+                               int shrinker_cb(struct shrinker *,
+                                               struct shrink_control *sc);
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               uintptr_t *ptr __attribute__ ((unused));
+                               struct shrinker cache_shrinker = {
+                                       .shrink = shrinker_cb,
+                                       .seeks = DEFAULT_SEEKS,
+                               };
+                               register_shrinker(&cache_shrinker);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -12368,9 +12312,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12382,11 +12328,11 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
+                               { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_UINTPTR_T 1
+#define HAVE_2ARGS_NEW_SHRINKER_CALLBACK 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -12394,19 +12340,10 @@ else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-               { $as_echo "$as_me:$LINENO: result: no" >&5
+                               { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 $as_echo "no" >&6; }
-
-
-
-fi
-
-       rm -Rf build
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether INIT_WORK wants 3 args" >&5
-$as_echo_n "checking whether INIT_WORK wants 3 args... " >&6; }
+                                                                                                                                                                                               { $as_echo "$as_me:$LINENO: checking whether ->count_objects callback exists" >&5
+$as_echo_n "checking whether ->count_objects callback exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -12417,14 +12354,22 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/workqueue.h>
+                                       #include <linux/mm.h>
+
+                                       unsigned long shrinker_cb(
+                                               struct shrinker *,
+                                               struct shrink_control *sc);
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct work_struct work __attribute__ ((unused));
-               INIT_WORK(&work, NULL, NULL);
+                                       struct shrinker cache_shrinker = {
+                                               .count_objects = shrinker_cb,
+                                               .scan_objects = shrinker_cb,
+                                               .seeks = DEFAULT_SEEKS,
+                                       };
+                                       register_shrinker(&cache_shrinker);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -12433,9 +12378,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12447,11 +12394,11 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
+                                       { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_3ARGS_INIT_WORK 1
+#define HAVE_SPLIT_SHRINKER_CALLBACK 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -12459,8 +12406,33 @@ else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+                                       { { $as_echo "$as_me:$LINENO: error: error" >&5
+$as_echo "$as_me: error: error" >&2;}
+   { (exit 1); exit 1; }; }
+
+
+
+fi
+
+       rm -Rf build
+
+
+
+
+
+fi
+
+       rm -Rf build
+
+
+
+
+
+fi
+
+       rm -Rf build
+
+
 
 
 
 
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
+
 
 
-       { $as_echo "$as_me:$LINENO: checking whether register_sysctl_table() wants 2 args" >&5
-$as_echo_n "checking whether register_sysctl_table() wants 2 args... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether struct ctl_table has ctl_name" >&5
+$as_echo_n "checking whether struct ctl_table has ctl_name... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -12488,7 +12462,8 @@ int
 main (void)
 {
 
 main (void)
 {
 
-               (void) register_sysctl_table(NULL, 0);
+               struct ctl_table ctl __attribute__ ((unused));
+               ctl.ctl_name = 0;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -12497,9 +12472,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12515,7 +12492,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_2ARGS_REGISTER_SYSCTL 1
+#define HAVE_CTL_NAME 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -12535,8 +12512,8 @@ fi
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether set_shrinker() available" >&5
-$as_echo_n "checking whether set_shrinker() available... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether CONFIG_TRIM_UNUSED_KSYM is disabled" >&5
+$as_echo_n "checking whether CONFIG_TRIM_UNUSED_KSYM is disabled... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -12547,14 +12524,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/mm.h>
+               #if defined(CONFIG_TRIM_UNUSED_KSYMS)
+               #error CONFIG_TRIM_UNUSED_KSYMS not defined
+               #endif
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               return set_shrinker(DEFAULT_SEEKS, NULL);
-
   ;
   return 0;
 }
   ;
   return 0;
 }
@@ -12562,9 +12539,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12579,17 +12558,19 @@ _ACEOF
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SET_SHRINKER 1
-_ACEOF
-
-
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
+               { { $as_echo "$as_me:$LINENO: error:
+       *** This kernel has unused symbols trimming enabled, please disable.
+       *** Rebuild the kernel with CONFIG_TRIM_UNUSED_KSYMS=n set." >&5
+$as_echo "$as_me: error:
+       *** This kernel has unused symbols trimming enabled, please disable.
+       *** Rebuild the kernel with CONFIG_TRIM_UNUSED_KSYMS=n set." >&2;}
+   { (exit 1); exit 1; }; }
 
 
 
 
 
 
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether shrinker callback wants 3 args" >&5
-$as_echo_n "checking whether shrinker callback wants 3 args... " >&6; }
-       tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Werror"
+
+       { $as_echo "$as_me:$LINENO: checking whether PDE_DATA() is available" >&5
+$as_echo_n "checking whether PDE_DATA() is available... " >&6; }
+
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -12613,19 +12594,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/mm.h>
-
-               int shrinker_cb(struct shrinker *, int, unsigned int);
+               #include <linux/proc_fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct shrinker cache_shrinker = {
-                       .shrink = shrinker_cb,
-                       .seeks = DEFAULT_SEEKS,
-               };
-               register_shrinker(&cache_shrinker);
+               PDE_DATA(NULL);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -12634,9 +12609,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12647,33 +12624,73 @@ _ACEOF
   ac_status=$?
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   ac_status=$?
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
+  rc=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ rc=1
 
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_3ARGS_SHRINKER_CALLBACK 1
-_ACEOF
+fi
+
+       rm -Rf build
 
 
 
 
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+       if test $rc -ne 0; then :
+
+               { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+
+       else
+               if test "x$enable_linux_builtin" != xyes; then
+
+       grep -q -E '[[:space:]]PDE_DATA[[:space:]]' \
+               $LINUX_OBJ/Module*.symvers 2>/dev/null
+       rc=$?
+       if test $rc -ne 0; then
+               export=0
+               for file in ; do
+                       grep -q -E "EXPORT_SYMBOL.*(PDE_DATA)" \
+                               "$LINUX_OBJ/$file" 2>/dev/null
+                       rc=$?
+                       if test $rc -eq 0; then
+                               export=1
+                               break;
+                       fi
+               done
+               if test $export -eq 0; then :
+                       rc=1
+               else :
+                       rc=0
+               fi
+       else :
+               rc=0
+       fi
+
+               fi
+               if test $rc -ne 0; then :
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
+               else :
 
 
+               { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 
 
-fi
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_PDE_DATA 1
+_ACEOF
 
 
-       rm -Rf build
 
 
+               fi
+       fi
 
 
-       EXTRA_KCFLAGS="$tmp_flags"
 
 
-       { $as_echo "$as_me:$LINENO: checking whether struct path used in struct nameidata" >&5
-$as_echo_n "checking whether struct path used in struct nameidata... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
+       { $as_echo "$as_me:$LINENO: checking whether set_fs_pwd() requires const struct path *" >&5
+$as_echo_n "checking whether set_fs_pwd() requires const struct path *... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -12684,16 +12701,18 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/namei.h>
+               #include <linux/spinlock.h>
+               #include <linux/fs_struct.h>
+               #include <linux/path.h>
+               void (*const set_fs_pwd_func)
+                       (struct fs_struct *, const struct path *)
+                       = set_fs_pwd;
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct nameidata nd __attribute__ ((unused));
-
-               nd.path.mnt = NULL;
-               nd.path.dentry = NULL;
+               return 0;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -12702,9 +12721,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12720,7 +12741,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_PATH_IN_NAMEIDATA 1
+#define HAVE_SET_FS_PWD_WITH_CONST 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -12728,60 +12749,6 @@ else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-
-
-fi
-
-       rm -Rf build
-
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether symbol task_curr is exported" >&5
-$as_echo_n "checking whether symbol task_curr is exported... " >&6; }
-       grep -q -E '[[:space:]]task_curr[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in kernel/sched.c; do
-                       grep -q -E "EXPORT_SYMBOL.*(task_curr)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_TASK_CURR 1
-_ACEOF
-
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_TASK_CURR 1
-_ACEOF
-
-       fi
-
-
-       { $as_echo "$as_me:$LINENO: checking whether unnumbered sysctl support exists" >&5
-$as_echo_n "checking whether unnumbered sysctl support exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -12792,15 +12759,18 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/sysctl.h>
+                       #include <linux/spinlock.h>
+                       #include <linux/fs_struct.h>
+                       #include <linux/path.h>
+                       void (*const set_fs_pwd_func)
+                               (struct fs_struct *, struct path *)
+                               = set_fs_pwd;
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               #ifndef CTL_UNNUMBERED
-               #error CTL_UNNUMBERED undefined
-               #endif
+                       return 0;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -12809,9 +12779,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12823,20 +12795,16 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_CTL_UNNUMBERED 1
-_ACEOF
-
+                       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+                       { { $as_echo "$as_me:$LINENO: error: unknown" >&5
+$as_echo "$as_me: error: unknown" >&2;}
+   { (exit 1); exit 1; }; }
 
 
 
 
 
 
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether struct ctl_table has ctl_name" >&5
-$as_echo_n "checking whether struct ctl_table has ctl_name... " >&6; }
+
+fi
+
+       rm -Rf build
+
+
+       EXTRA_KCFLAGS="$tmp_flags"
+
+
+       { $as_echo "$as_me:$LINENO: checking whether vfs_fsync() wants 2 args" >&5
+$as_echo_n "checking whether vfs_fsync() wants 2 args... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -12859,14 +12836,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/sysctl.h>
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct ctl_table ctl __attribute__ ((unused));
-               ctl.ctl_name = 0;
+               vfs_fsync(NULL, 0);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -12875,9 +12851,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12893,7 +12871,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_CTL_NAME 1
+#define HAVE_2ARGS_VFS_FSYNC 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -12912,8 +12890,9 @@ fi
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether fls64() is available" >&5
-$as_echo_n "checking whether fls64() is available... " >&6; }
+
+       { $as_echo "$as_me:$LINENO: checking whether truncate_range() inode operation is available" >&5
+$as_echo_n "checking whether truncate_range() inode operation is available... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -12924,13 +12903,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/bitops.h>
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               return fls64(0);
+               struct inode_operations ops;
+               ops.truncate_range = NULL;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -12939,9 +12919,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -12957,7 +12939,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_FLS64 1
+#define HAVE_INODE_TRUNCATE_RANGE 1
 _ACEOF
 
 
 _ACEOF
 
 
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol device_create is exported" >&5
-$as_echo_n "checking whether symbol device_create is exported... " >&6; }
-       grep -q -E '[[:space:]]device_create[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in drivers/base/core.c; do
-                       grep -q -E "EXPORT_SYMBOL.*(device_create)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_DEVICE_CREATE 1
-_ACEOF
-
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_DEVICE_CREATE 1
-_ACEOF
-
-       fi
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether device_create() wants 5 args" >&5
-$as_echo_n "checking whether device_create() wants 5 args... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether struct fs_struct uses spinlock_t" >&5
+$as_echo_n "checking whether struct fs_struct uses spinlock_t... " >&6; }
        tmp_flags="$EXTRA_KCFLAGS"
        EXTRA_KCFLAGS="-Werror"
 
        tmp_flags="$EXTRA_KCFLAGS"
        EXTRA_KCFLAGS="-Werror"
 
@@ -13032,13 +12973,15 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/device.h>
+               #include <linux/sched.h>
+               #include <linux/fs_struct.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               device_create(NULL, NULL, 0, NULL, "%d", 1);
+               static struct fs_struct fs;
+               spin_lock_init(&fs.lock);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -13047,9 +12990,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -13065,7 +13010,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_5ARGS_DEVICE_CREATE 1
+#define HAVE_FS_STRUCT_SPINLOCK 1
 _ACEOF
 
 
 _ACEOF
 
 
        EXTRA_KCFLAGS="$tmp_flags"
 
 
        EXTRA_KCFLAGS="$tmp_flags"
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol class_device_create is exported" >&5
-$as_echo_n "checking whether symbol class_device_create is exported... " >&6; }
-       grep -q -E '[[:space:]]class_device_create[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in drivers/base/class.c; do
-                       grep -q -E "EXPORT_SYMBOL.*(class_device_create)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_CLASS_DEVICE_CREATE 1
-_ACEOF
+       { $as_echo "$as_me:$LINENO: checking whether kuid_t/kgid_t is available" >&5
+$as_echo_n "checking whether kuid_t/kgid_t is available... " >&6; }
 
 
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_CLASS_DEVICE_CREATE 1
+cat confdefs.h - <<_ACEOF >conftest.c
+/* confdefs.h.  */
 _ACEOF
 _ACEOF
-
-       fi
-
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol set_normalized_timespec is exported" >&5
-$as_echo_n "checking whether symbol set_normalized_timespec is exported... " >&6; }
-       grep -q -E '[[:space:]]set_normalized_timespec[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in kernel/time.c; do
-                       grep -q -E "EXPORT_SYMBOL.*(set_normalized_timespec)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+               #include <linux/uidgid.h>
 
 
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+int
+main (void)
+{
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SET_NORMALIZED_TIMESPEC_EXPORT 1
-_ACEOF
+               kuid_t userid = KUIDT_INIT(0);
+               kgid_t groupid = KGIDT_INIT(0);
 
 
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+  ;
+  return 0;
+}
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SET_NORMALIZED_TIMESPEC_EXPORT 1
 _ACEOF
 
 _ACEOF
 
-       fi
-
 
 
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
+       echo "obj-m := conftest.o" >build/Makefile
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
 
 
-       { $as_echo "$as_me:$LINENO: checking whether set_normalized_timespec() is an inline" >&5
-$as_echo_n "checking whether set_normalized_timespec() is an inline... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -13180,14 +13085,15 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/time.h>
-               void set_normalized_timespec(struct timespec *ts,
-                                            time_t sec, long nsec) { }
+                       #include <linux/uidgid.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
+                       kuid_t userid = 0;
+                       kgid_t groupid = 0;
+
   ;
   return 0;
 }
   ;
   return 0;
 }
@@ -13195,9 +13101,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -13209,18 +13117,18 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+                       { $as_echo "$as_me:$LINENO: result: yes; optional" >&5
+$as_echo "yes; optional" >&6; }
 
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+                       { $as_echo "$as_me:$LINENO: result: yes; mandatory" >&5
+$as_echo "yes; mandatory" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_SET_NORMALIZED_TIMESPEC_INLINE 1
+#define HAVE_KUIDGID_T 1
 _ACEOF
 
 
 _ACEOF
 
 
 
 
 
 
 
 
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+               { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+
+
+
+fi
+
+       rm -Rf build
+
+
+
+
 
 
-       { $as_echo "$as_me:$LINENO: checking whether timespec_sub() is available" >&5
-$as_echo_n "checking whether timespec_sub() is available... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether fops->fallocate() exists" >&5
+$as_echo_n "checking whether fops->fallocate() exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -13245,16 +13169,16 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/time.h>
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct timespec a = { 0 };
-               struct timespec b = { 0 };
-               struct timespec c __attribute__ ((unused));
-               c = timespec_sub(a, b);
+               long (*fallocate) (struct file *, int, loff_t, loff_t) = NULL;
+               struct file_operations fops __attribute__ ((unused)) = {
+                       .fallocate = fallocate,
+               };
 
   ;
   return 0;
 
   ;
   return 0;
@@ -13263,9 +13187,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -13281,7 +13207,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_TIMESPEC_SUB 1
+#define HAVE_FILE_FALLOCATE 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -13301,8 +13227,8 @@ fi
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether init_utsname() is available" >&5
-$as_echo_n "checking whether init_utsname() is available... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether iops->fallocate() exists" >&5
+$as_echo_n "checking whether iops->fallocate() exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -13313,14 +13239,16 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/utsname.h>
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct new_utsname *a __attribute__ ((unused));
-               a = init_utsname();
+               long (*fallocate) (struct inode *, int, loff_t, loff_t) = NULL;
+               struct inode_operations fops __attribute__ ((unused)) = {
+                       .fallocate = fallocate,
+               };
 
   ;
   return 0;
 
   ;
   return 0;
@@ -13329,9 +13257,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -13347,7 +13277,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_INIT_UTSNAME 1
+#define HAVE_INODE_FALLOCATE 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -13367,8 +13297,8 @@ fi
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether header linux/fdtable.h exists" >&5
-$as_echo_n "checking whether header linux/fdtable.h exists... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether fops->fallocate() exists" >&5
+$as_echo_n "checking whether fops->fallocate() exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -13379,13 +13309,16 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/fdtable.h>
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               return 0;
+               long (*fallocate) (struct file *, int, loff_t, loff_t) = NULL;
+               struct file_operations_no_const fops __attribute__ ((unused)) = {
+                       .fallocate = fallocate,
+               };
 
   ;
   return 0;
 
   ;
   return 0;
@@ -13394,9 +13327,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -13408,14 +13343,13 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
+               { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_FDTABLE_HEADER 1
+#define HAVE_FILE_FALLOCATE 1
 _ACEOF
 
 _ACEOF
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
 
 else
   $as_echo "$as_me: failed program was:" >&5
 
 else
   $as_echo "$as_me: failed program was:" >&5
@@ -13426,7 +13360,6 @@ $as_echo "no" >&6; }
 
 
 
 
 
 
-
 fi
 
        rm -Rf build
 fi
 
        rm -Rf build
@@ -13435,8 +13368,8 @@ fi
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether files_fdtable() is available" >&5
-$as_echo_n "checking whether files_fdtable() is available... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether CONFIG_ZLIB_INFLATE is defined" >&5
+$as_echo_n "checking whether CONFIG_ZLIB_INFLATE is defined... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -13447,20 +13380,15 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/sched.h>
-               #include <linux/file.h>
-               #ifdef HAVE_FDTABLE_HEADER
-               #include <linux/fdtable.h>
+               #if !defined(CONFIG_ZLIB_INFLATE) && \
+                   !defined(CONFIG_ZLIB_INFLATE_MODULE)
+               #error CONFIG_ZLIB_INFLATE not defined
                #endif
 
 int
 main (void)
 {
 
                #endif
 
 int
 main (void)
 {
 
-               struct files_struct *files = current->files;
-               struct fdtable *fdt __attribute__ ((unused));
-               fdt = files_fdtable(files);
-
   ;
   return 0;
 }
   ;
   return 0;
 }
@@ -13468,9 +13396,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -13485,17 +13415,19 @@ _ACEOF
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_FILES_FDTABLE 1
-_ACEOF
-
-
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
+               { { $as_echo "$as_me:$LINENO: error:
+       *** This kernel does not include the required zlib inflate support.
+       *** Rebuild the kernel with CONFIG_ZLIB_INFLATE=y|m set." >&5
+$as_echo "$as_me: error:
+       *** This kernel does not include the required zlib inflate support.
+       *** Rebuild the kernel with CONFIG_ZLIB_INFLATE=y|m set." >&2;}
+   { (exit 1); exit 1; }; }
 
 
 
 
 
 
@@ -13506,8 +13438,8 @@ fi
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether __clear_close_on_exec() is available" >&5
-$as_echo_n "checking whether __clear_close_on_exec() is available... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether CONFIG_ZLIB_DEFLATE is defined" >&5
+$as_echo_n "checking whether CONFIG_ZLIB_DEFLATE is defined... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -13518,17 +13450,15 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/fdtable.h>
+               #if !defined(CONFIG_ZLIB_DEFLATE) && \
+                   !defined(CONFIG_ZLIB_DEFLATE_MODULE)
+               #error CONFIG_ZLIB_DEFLATE not defined
+               #endif
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct fdtable *fdt = NULL;
-               int fd = 0;
-
-               __clear_close_on_exec(fd, fdt);
-
   ;
   return 0;
 }
   ;
   return 0;
 }
@@ -13536,9 +13466,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -13553,17 +13485,19 @@ _ACEOF
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_CLEAR_CLOSE_ON_EXEC 1
-_ACEOF
-
-
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
+               { { $as_echo "$as_me:$LINENO: error:
+       *** This kernel does not include the required zlib deflate support.
+       *** Rebuild the kernel with CONFIG_ZLIB_DEFLATE=y|m set." >&5
+$as_echo "$as_me: error:
+       *** This kernel does not include the required zlib deflate support.
+       *** Rebuild the kernel with CONFIG_ZLIB_DEFLATE=y|m set." >&2;}
+   { (exit 1); exit 1; }; }
 
 
 
 
 
 
@@ -13573,9 +13507,8 @@ fi
 
 
 
 
 
 
-
-       { $as_echo "$as_me:$LINENO: checking whether header linux/uaccess.h exists" >&5
-$as_echo_n "checking whether header linux/uaccess.h exists... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether zlib_deflate_workspacesize() wants 2 args" >&5
+$as_echo_n "checking whether zlib_deflate_workspacesize() wants 2 args... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -13586,13 +13519,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/uaccess.h>
+               #include <linux/zlib.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               return 0;
+               return zlib_deflate_workspacesize(MAX_WBITS, MAX_MEM_LEVEL);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -13601,9 +13534,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -13615,14 +13550,13 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
+               { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_UACCESS_HEADER 1
+#define HAVE_2ARGS_ZLIB_DEFLATE_WORKSPACESIZE 1
 _ACEOF
 
 _ACEOF
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
 
 else
   $as_echo "$as_me: failed program was:" >&5
 
 else
   $as_echo "$as_me: failed program was:" >&5
@@ -13633,7 +13567,6 @@ $as_echo "no" >&6; }
 
 
 
 
 
 
-
 fi
 
        rm -Rf build
 fi
 
        rm -Rf build
@@ -13641,9 +13574,8 @@ fi
 
 
 
 
 
 
-
-       { $as_echo "$as_me:$LINENO: checking whether kmalloc_node() is available" >&5
-$as_echo_n "checking whether kmalloc_node() is available... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether struct shrink_control exists" >&5
+$as_echo_n "checking whether struct shrink_control exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -13654,14 +13586,16 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/slab.h>
+               #include <linux/mm.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               void *a __attribute__ ((unused));
-               a = kmalloc_node(1, GFP_KERNEL, 0);
+               struct shrink_control sc __attribute__ ((unused));
+
+               sc.nr_to_scan = 0;
+               sc.gfp_mask = GFP_KERNEL;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -13670,9 +13604,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -13688,7 +13624,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_KMALLOC_NODE 1
+#define HAVE_SHRINK_CONTROL_STRUCT 1
 _ACEOF
 
 
 _ACEOF
 
 
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol monotonic_clock is exported" >&5
-$as_echo_n "checking whether symbol monotonic_clock is exported... " >&6; }
-       grep -q -E '[[:space:]]monotonic_clock[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(monotonic_clock)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_MONOTONIC_CLOCK 1
-_ACEOF
-
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_MONOTONIC_CLOCK 1
-_ACEOF
-
-       fi
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether struct inode has i_mutex" >&5
-$as_echo_n "checking whether struct inode has i_mutex... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether struct rw_semaphore member wait_lock is raw" >&5
+$as_echo_n "checking whether struct rw_semaphore member wait_lock is raw... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -13761,15 +13658,16 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/fs.h>
-               #include <linux/mutex.h>
+               #include <linux/rwsem.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct inode i;
-               mutex_init(&i.i_mutex);
+               struct rw_semaphore dummy_semaphore __attribute__ ((unused));
+               raw_spinlock_t dummy_lock __attribute__ ((unused)) =
+                   __RAW_SPIN_LOCK_INITIALIZER(dummy_lock);
+               dummy_semaphore.wait_lock = dummy_lock;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -13778,9 +13676,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -13796,7 +13696,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_INODE_I_MUTEX 1
+#define RWSEM_SPINLOCK_IS_RAW 1
 _ACEOF
 
 
 _ACEOF
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether struct mutex has owner" >&5
-$as_echo_n "checking whether struct mutex has owner... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether struct rw_semaphore has member activity" >&5
+$as_echo_n "checking whether struct rw_semaphore has member activity... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -13828,14 +13731,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/mutex.h>
+               #include <linux/rwsem.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct mutex mtx __attribute__ ((unused));
-               mtx.owner = NULL;
+               struct rw_semaphore dummy_semaphore __attribute__ ((unused));
+               dummy_semaphore.activity = 0;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -13844,9 +13747,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -13862,7 +13767,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_MUTEX_OWNER 1
+#define HAVE_RWSEM_ACTIVITY 1
 _ACEOF
 
 
 _ACEOF
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether struct mutex owner is a task_struct" >&5
-$as_echo_n "checking whether struct mutex owner is a task_struct... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether struct rw_semaphore has atomic_long_t member count" >&5
+$as_echo_n "checking whether struct rw_semaphore has atomic_long_t member count... " >&6; }
        tmp_flags="$EXTRA_KCFLAGS"
        EXTRA_KCFLAGS="-Werror"
 
        tmp_flags="$EXTRA_KCFLAGS"
        EXTRA_KCFLAGS="-Werror"
 
@@ -13896,14 +13802,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/mutex.h>
+               #include <linux/rwsem.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct mutex mtx __attribute__ ((unused));
-               mtx.owner = current;
+               DECLARE_RWSEM(dummy_semaphore);
+               (void) atomic_long_read(&dummy_semaphore.count);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -13912,9 +13818,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -13930,7 +13838,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_MUTEX_OWNER_TASK_STRUCT 1
+#define HAVE_RWSEM_ATOMIC_LONG_COUNT 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -13950,9 +13858,8 @@ fi
 
        EXTRA_KCFLAGS="$tmp_flags"
 
 
        EXTRA_KCFLAGS="$tmp_flags"
 
-
-       { $as_echo "$as_me:$LINENO: checking whether mutex_lock_nested() is available" >&5
-$as_echo_n "checking whether mutex_lock_nested() is available... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether header linux/sched/rt.h exists" >&5
+$as_echo_n "checking whether header linux/sched/rt.h exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -13963,15 +13870,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/mutex.h>
+               #include <linux/sched.h>
+               #include <linux/sched/rt.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct mutex mutex;
-               mutex_init(&mutex);
-               mutex_lock_nested(&mutex, 0);
+               return 0;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -13980,9 +13886,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -13994,13 +13902,13 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_MUTEX_LOCK_NESTED 1
+#define HAVE_SCHED_RT_HEADER 1
 _ACEOF
 
 _ACEOF
 
+               { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 
 else
   $as_echo "$as_me: failed program was:" >&5
 
 else
   $as_echo "$as_me: failed program was:" >&5
@@ -14017,9 +13925,8 @@ fi
 
 
 
 
 
 
-
-       { $as_echo "$as_me:$LINENO: checking whether on_each_cpu() wants 3 args" >&5
-$as_echo_n "checking whether on_each_cpu() wants 3 args... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether header linux/sched/signal.h exists" >&5
+$as_echo_n "checking whether header linux/sched/signal.h exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -14030,13 +13937,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/smp.h>
+               #include <linux/sched.h>
+               #include <linux/sched/signal.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               on_each_cpu(NULL, NULL, 0);
+               return 0;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -14045,9 +13953,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -14059,13 +13969,13 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_3ARGS_ON_EACH_CPU 1
+#define HAVE_SCHED_SIGNAL_HEADER 1
 _ACEOF
 
 _ACEOF
 
+               { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 
 else
   $as_echo "$as_me: failed program was:" >&5
 
 else
   $as_echo "$as_me: failed program was:" >&5
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol kallsyms_lookup_name is exported" >&5
-$as_echo_n "checking whether symbol kallsyms_lookup_name is exported... " >&6; }
-       grep -q -E '[[:space:]]kallsyms_lookup_name[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(kallsyms_lookup_name)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_KALLSYMS_LOOKUP_NAME 1
-_ACEOF
-
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_KALLSYMS_LOOKUP_NAME 1
-_ACEOF
-
-       fi
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether symbol get_vmalloc_info is exported" >&5
-$as_echo_n "checking whether symbol get_vmalloc_info is exported... " >&6; }
-       grep -q -E '[[:space:]]get_vmalloc_info[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(get_vmalloc_info)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GET_VMALLOC_INFO 1
-_ACEOF
-
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GET_VMALLOC_INFO 1
-_ACEOF
-
-       fi
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether symbol *_pgdat exist" >&5
-$as_echo_n "checking whether symbol *_pgdat exist... " >&6; }
-       grep -q -E 'first_online_pgdat' $LINUX/include/linux/mmzone.h 2>/dev/null
-       rc=$?
-       if test $rc -eq 0; then
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_PGDAT_HELPERS 1
-_ACEOF
-
-       else
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-       fi
-
-
-       { $as_echo "$as_me:$LINENO: checking whether symbol first_online_pgdat is exported" >&5
-$as_echo_n "checking whether symbol first_online_pgdat is exported... " >&6; }
-       grep -q -E '[[:space:]]first_online_pgdat[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(first_online_pgdat)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_FIRST_ONLINE_PGDAT 1
-_ACEOF
+       { $as_echo "$as_me:$LINENO: checking whether vfs_getattr() wants 4 args" >&5
+$as_echo_n "checking whether vfs_getattr() wants 4 args... " >&6; }
 
 
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_FIRST_ONLINE_PGDAT 1
+cat confdefs.h - <<_ACEOF >conftest.c
+/* confdefs.h.  */
 _ACEOF
 _ACEOF
-
-       fi
-
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol next_online_pgdat is exported" >&5
-$as_echo_n "checking whether symbol next_online_pgdat is exported... " >&6; }
-       grep -q -E '[[:space:]]next_online_pgdat[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(next_online_pgdat)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+               #include <linux/fs.h>
 
 
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+int
+main (void)
+{
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_NEXT_ONLINE_PGDAT 1
-_ACEOF
+               vfs_getattr((const struct path *)NULL,
+                       (struct kstat *)NULL,
+                       (u32)0,
+                       (unsigned int)0);
 
 
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+  ;
+  return 0;
+}
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_NEXT_ONLINE_PGDAT 1
 _ACEOF
 
 _ACEOF
 
-       fi
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether symbol next_zone is exported" >&5
-$as_echo_n "checking whether symbol next_zone is exported... " >&6; }
-       grep -q -E '[[:space:]]next_zone[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(next_zone)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_NEXT_ZONE 1
-_ACEOF
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
+       echo "obj-m := conftest.o" >build/Makefile
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
 
 
-               fi
-       else
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_NEXT_ZONE 1
+#define HAVE_4ARGS_VFS_GETATTR 1
 _ACEOF
 
 _ACEOF
 
-       fi
-
 
 
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol pgdat_list is exported" >&5
-$as_echo_n "checking whether symbol pgdat_list is exported... " >&6; }
-       grep -q -E '[[:space:]]pgdat_list[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(pgdat_list)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
+               { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
 $as_echo "no" >&6; }
 
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_PGDAT_LIST 1
-_ACEOF
 
 
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+fi
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_PGDAT_LIST 1
-_ACEOF
+       rm -Rf build
 
 
-       fi
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether global_page_state() is available" >&5
-$as_echo_n "checking whether global_page_state() is available... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether vfs_getattr() wants 3 args" >&5
+$as_echo_n "checking whether vfs_getattr() wants 3 args... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -14359,14 +14075,15 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/mm.h>
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               unsigned long state __attribute__ ((unused));
-               state = global_page_state(0);
+               vfs_getattr((struct vfsmount *)NULL,
+                       (struct dentry *)NULL,
+                       (struct kstat *)NULL);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -14375,9 +14092,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -14393,7 +14112,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_GLOBAL_PAGE_STATE 1
+#define HAVE_3ARGS_VFS_GETATTR 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -14413,8 +14132,8 @@ fi
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether page state NR_FREE_PAGES is available" >&5
-$as_echo_n "checking whether page state NR_FREE_PAGES is available... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether vfs_getattr() wants 2 args" >&5
+$as_echo_n "checking whether vfs_getattr() wants 2 args... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -14425,14 +14144,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/mm.h>
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               enum zone_stat_item zsi __attribute__ ((unused));
-               zsi = NR_FREE_PAGES;
+               vfs_getattr((struct path *) NULL,
+                       (struct kstat *)NULL);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -14441,9 +14160,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -14459,7 +14180,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_ZONE_STAT_ITEM_NR_FREE_PAGES 1
+#define HAVE_2ARGS_VFS_GETATTR 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -14479,8 +14200,8 @@ fi
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether page state NR_INACTIVE is available" >&5
-$as_echo_n "checking whether page state NR_INACTIVE is available... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether usleep_range() is available" >&5
+$as_echo_n "checking whether usleep_range() is available... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -14491,14 +14212,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/mm.h>
+               #include <linux/delay.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               enum zone_stat_item zsi __attribute__ ((unused));
-               zsi = NR_INACTIVE;
+               usleep_range(0, 0);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -14507,9 +14227,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -14525,7 +14247,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_ZONE_STAT_ITEM_NR_INACTIVE 1
+#define HAVE_USLEEP_RANGE 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -14544,8 +14266,9 @@ fi
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether page state NR_INACTIVE_ANON is available" >&5
-$as_echo_n "checking whether page state NR_INACTIVE_ANON is available... " >&6; }
+
+       { $as_echo "$as_me:$LINENO: checking whether struct kmem_cache has allocflags" >&5
+$as_echo_n "checking whether struct kmem_cache has allocflags... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -14556,14 +14279,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/mm.h>
+               #include <linux/slab.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               enum zone_stat_item zsi __attribute__ ((unused));
-               zsi = NR_INACTIVE_ANON;
+               struct kmem_cache cachep __attribute__ ((unused));
+               cachep.allocflags = GFP_KERNEL;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -14572,9 +14295,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -14590,7 +14315,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_ZONE_STAT_ITEM_NR_INACTIVE_ANON 1
+#define HAVE_KMEM_CACHE_ALLOCFLAGS 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -14601,16 +14326,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
-
-
-fi
-
-       rm -Rf build
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether page state NR_INACTIVE_FILE is available" >&5
-$as_echo_n "checking whether page state NR_INACTIVE_FILE is available... " >&6; }
+               { $as_echo "$as_me:$LINENO: checking whether struct kmem_cache has gfpflags" >&5
+$as_echo_n "checking whether struct kmem_cache has gfpflags... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -14621,14 +14338,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/mm.h>
+                       #include <linux/slab.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               enum zone_stat_item zsi __attribute__ ((unused));
-               zsi = NR_INACTIVE_FILE;
+                       struct kmem_cache cachep __attribute__ ((unused));
+                       cachep.gfpflags = GFP_KERNEL;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -14637,9 +14354,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -14651,11 +14370,11 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
+                       { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_ZONE_STAT_ITEM_NR_INACTIVE_FILE 1
+#define HAVE_KMEM_CACHE_GFPFLAGS 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -14663,7 +14382,7 @@ else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-               { $as_echo "$as_me:$LINENO: result: no" >&5
+                       { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
 
 $as_echo "no" >&6; }
 
 
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether page state NR_ACTIVE is available" >&5
-$as_echo_n "checking whether page state NR_ACTIVE is available... " >&6; }
+
+fi
+
+       rm -Rf build
+
+
+
+
+       { $as_echo "$as_me:$LINENO: checking whether inode->i_*time's are timespec64" >&5
+$as_echo_n "checking whether inode->i_*time's are timespec64... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -14687,14 +14416,17 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/mm.h>
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               enum zone_stat_item zsi __attribute__ ((unused));
-               zsi = NR_ACTIVE;
+               struct inode ip;
+               struct timespec ts;
+
+               memset(&ip, 0, sizeof(ip));
+               ts = ip.i_mtime;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -14703,9 +14435,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -14717,21 +14451,21 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
+               { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_ZONE_STAT_ITEM_NR_ACTIVE 1
+#define HAVE_INODE_TIMESPEC64_TIMES 1
 _ACEOF
 
 
 _ACEOF
 
 
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
 
 
 fi
 
 
 fi
        rm -Rf build
 
 
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
+
 
 
-       { $as_echo "$as_me:$LINENO: checking whether page state NR_ACTIVE_ANON is available" >&5
-$as_echo_n "checking whether page state NR_ACTIVE_ANON is available... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether wait_on_bit() takes an action" >&5
+$as_echo_n "checking whether wait_on_bit() takes an action... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -14752,14 +14488,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/mm.h>
+               #include <linux/wait.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               enum zone_stat_item zsi __attribute__ ((unused));
-               zsi = NR_ACTIVE_ANON;
+               int (*action)(void *) = NULL;
+               wait_on_bit(NULL, 0, action, 0);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -14768,9 +14504,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -14786,7 +14524,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_ZONE_STAT_ITEM_NR_ACTIVE_ANON 1
+#define HAVE_WAIT_ON_BIT_ACTION 1
 _ACEOF
 
 
 _ACEOF
 
 
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether page state NR_ACTIVE_FILE is available" >&5
-$as_echo_n "checking whether page state NR_ACTIVE_FILE is available... " >&6; }
+
+       { $as_echo "$as_me:$LINENO: checking whether inode_lock_shared() exists" >&5
+$as_echo_n "checking whether inode_lock_shared() exists... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -14817,14 +14558,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/mm.h>
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               enum zone_stat_item zsi __attribute__ ((unused));
-               zsi = NR_ACTIVE_FILE;
+               struct inode *inode = NULL;
+               inode_lock_shared(inode);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -14833,9 +14574,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -14851,7 +14594,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_ZONE_STAT_ITEM_NR_ACTIVE_FILE 1
+#define HAVE_INODE_LOCK_SHARED 1
 _ACEOF
 
 
 _ACEOF
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol get_zone_counts is needed" >&5
-$as_echo_n "checking whether symbol get_zone_counts is needed... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether group_info->gid exists" >&5
+$as_echo_n "checking whether group_info->gid exists... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -14883,26 +14629,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
+               #include <linux/cred.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               #if !defined(HAVE_ZONE_STAT_ITEM_NR_FREE_PAGES)
-               #error "global_page_state needs NR_FREE_PAGES"
-               #endif
-
-               #if !defined(HAVE_ZONE_STAT_ITEM_NR_ACTIVE) && \
-                   !defined(HAVE_ZONE_STAT_ITEM_NR_ACTIVE_ANON) && \
-                   !defined(HAVE_ZONE_STAT_ITEM_NR_ACTIVE_FILE)
-               #error "global_page_state needs NR_ACTIVE*"
-               #endif
-
-               #if !defined(HAVE_ZONE_STAT_ITEM_NR_INACTIVE) && \
-                   !defined(HAVE_ZONE_STAT_ITEM_NR_INACTIVE_ANON) && \
-                   !defined(HAVE_ZONE_STAT_ITEM_NR_INACTIVE_FILE)
-               #error "global_page_state needs NR_INACTIVE*"
-               #endif
+               struct group_info *gi = groups_alloc(1);
+               gi->gid[0] = KGIDT_INIT(0);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -14911,9 +14645,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -14925,153 +14661,116 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define NEED_GET_ZONE_COUNTS 1
+#define HAVE_GROUP_INFO_GID 1
 _ACEOF
 
 
 _ACEOF
 
 
-               { $as_echo "$as_me:$LINENO: checking whether symbol get_zone_counts is exported" >&5
-$as_echo_n "checking whether symbol get_zone_counts is exported... " >&6; }
-       grep -q -E '[[:space:]]get_zone_counts[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(get_zone_counts)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+               { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
 $as_echo "no" >&6; }
 
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GET_ZONE_COUNTS 1
-_ACEOF
 
 
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+fi
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GET_ZONE_COUNTS 1
-_ACEOF
+       rm -Rf build
 
 
-       fi
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
+       { $as_echo "$as_me:$LINENO: checking whether kmem_cache_create_usercopy() exists" >&5
+$as_echo_n "checking whether kmem_cache_create_usercopy() exists... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
-fi
 
 
-       rm -Rf build
+cat confdefs.h - <<_ACEOF >conftest.c
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
 
 
 
+               #include <linux/slab.h>
+               static void ctor(void *foo)
+               {
+                       // fake ctor
+               }
 
 
+int
+main (void)
+{
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol user_path_at is exported" >&5
-$as_echo_n "checking whether symbol user_path_at is exported... " >&6; }
-       grep -q -E '[[:space:]]user_path_at[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(user_path_at)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+               struct kmem_cache *skc_linux_cache;
+               const char *name = "test";
+               size_t size = 4096;
+               size_t align = 8;
+               unsigned long flags = 0;
+               size_t useroffset = 0;
+               size_t usersize = size - useroffset;
 
 
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+               skc_linux_cache = kmem_cache_create_usercopy(
+                       name, size, align, flags, useroffset, usersize, ctor);
+
+  ;
+  return 0;
+}
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_USER_PATH_DIR 1
 _ACEOF
 
 _ACEOF
 
-               fi
-       else
+
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
+       echo "obj-m := conftest.o" >build/Makefile
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_USER_PATH_DIR 1
+#define HAVE_KMEM_CACHE_CREATE_USERCOPY 1
 _ACEOF
 
 _ACEOF
 
-       fi
-
 
 
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol set_fs_pwd is exported" >&5
-$as_echo_n "checking whether symbol set_fs_pwd is exported... " >&6; }
-       grep -q -E '[[:space:]]set_fs_pwd[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(set_fs_pwd)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
+               { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
 $as_echo "no" >&6; }
 
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SET_FS_PWD 1
-_ACEOF
 
 
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+fi
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SET_FS_PWD 1
-_ACEOF
+       rm -Rf build
 
 
-       fi
+
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether set_fs_pwd() wants 2 args" >&5
-$as_echo_n "checking whether set_fs_pwd() wants 2 args... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether wait_queue_entry_t exists" >&5
+$as_echo_n "checking whether wait_queue_entry_t exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -15082,14 +14781,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/sched.h>
-               #include <linux/fs_struct.h>
+               #include <linux/wait.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               set_fs_pwd(NULL, NULL);
+               wait_queue_entry_t *entry __attribute__ ((unused));
 
   ;
   return 0;
 
   ;
   return 0;
@@ -15098,9 +14796,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -15116,7 +14816,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_2ARGS_SET_FS_PWD 1
+#define HAVE_WAIT_QUEUE_ENTRY_T 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -15135,8 +14835,9 @@ fi
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether vfs_unlink() wants 2 args" >&5
-$as_echo_n "checking whether vfs_unlink() wants 2 args... " >&6; }
+
+       { $as_echo "$as_me:$LINENO: checking whether wq_head->head and wq_entry->entry exist" >&5
+$as_echo_n "checking whether wq_head->head and wq_entry->entry exist... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -15147,13 +14848,27 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/fs.h>
+               #include <linux/wait.h>
+
+               #ifdef HAVE_WAIT_QUEUE_ENTRY_T
+               typedef wait_queue_head_t       spl_wait_queue_head_t;
+               typedef wait_queue_entry_t      spl_wait_queue_entry_t;
+               #else
+               typedef wait_queue_head_t       spl_wait_queue_head_t;
+               typedef wait_queue_t            spl_wait_queue_entry_t;
+               #endif
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               vfs_unlink(NULL, NULL);
+               spl_wait_queue_head_t wq_head;
+               spl_wait_queue_entry_t wq_entry;
+               struct list_head *head __attribute__ ((unused));
+               struct list_head *entry __attribute__ ((unused));
+
+               head = &wq_head.head;
+               entry = &wq_entry.entry;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -15162,9 +14877,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -15180,7 +14897,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_2ARGS_VFS_UNLINK 1
+#define HAVE_WAIT_QUEUE_HEAD_ENTRY 1
 _ACEOF
 
 
 _ACEOF
 
 
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether vfs_rename() wants 4 args" >&5
-$as_echo_n "checking whether vfs_rename() wants 4 args... " >&6; }
+
+       { $as_echo "$as_me:$LINENO: checking whether io_schedule_timeout() is available" >&5
+$as_echo_n "checking whether io_schedule_timeout() is available... " >&6; }
+
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -15211,13 +14930,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/fs.h>
+               #include <linux/sched.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               vfs_rename(NULL, NULL, NULL, NULL);
+               (void) io_schedule_timeout(1);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -15226,9 +14945,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -15239,22 +14960,11 @@ _ACEOF
   ac_status=$?
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   ac_status=$?
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_4ARGS_VFS_RENAME 1
-_ACEOF
-
-
+  rc=0
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
-
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
+ rc=1
 
 
 fi
 
 
 fi
        rm -Rf build
 
 
        rm -Rf build
 
 
+       if test $rc -ne 0; then :
+
+               { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 
 
+       else
+               if test "x$enable_linux_builtin" != xyes; then
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol vfs_fsync is exported" >&5
-$as_echo_n "checking whether symbol vfs_fsync is exported... " >&6; }
-       grep -q -E '[[:space:]]vfs_fsync[[:space:]]' \
+       grep -q -E '[[:space:]]io_schedule_timeout[[:space:]]' \
                $LINUX_OBJ/Module*.symvers 2>/dev/null
        rc=$?
        if test $rc -ne 0; then
                export=0
                $LINUX_OBJ/Module*.symvers 2>/dev/null
        rc=$?
        if test $rc -ne 0; then
                export=0
-               for file in fs/sync.c; do
-                       grep -q -E "EXPORT_SYMBOL.*(vfs_fsync)" \
+               for file in ; do
+                       grep -q -E "EXPORT_SYMBOL.*(io_schedule_timeout)" \
                                "$LINUX_OBJ/$file" 2>/dev/null
                        rc=$?
                                "$LINUX_OBJ/$file" 2>/dev/null
                        rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
+                       if test $rc -eq 0; then
+                               export=1
+                               break;
+                       fi
                done
                done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+               if test $export -eq 0; then :
+                       rc=1
+               else :
+                       rc=0
+               fi
+       else :
+               rc=0
+       fi
 
 
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+               fi
+               if test $rc -ne 0; then :
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_VFS_FSYNC 1
-_ACEOF
+               { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+
+               else :
 
 
-               fi
-       else
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_VFS_FSYNC 1
+#define HAVE_IO_SCHEDULE_TIMEOUT 1
 _ACEOF
 
 _ACEOF
 
+
+               fi
        fi
 
 
 
        fi
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether vfs_fsync() wants 2 args" >&5
-$as_echo_n "checking whether vfs_fsync() wants 2 args... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether kernel_write() takes loff_t pointer" >&5
+$as_echo_n "checking whether kernel_write() takes loff_t pointer... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -15323,7 +15044,13 @@ int
 main (void)
 {
 
 main (void)
 {
 
-               vfs_fsync(NULL, 0);
+               struct file *file = NULL;
+               const void *buf = NULL;
+               size_t count = 0;
+               loff_t *pos = NULL;
+               ssize_t ret;
+
+               ret = kernel_write(file, buf, count, pos);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -15332,9 +15059,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -15350,7 +15079,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_2ARGS_VFS_FSYNC 1
+#define HAVE_KERNEL_WRITE_PPOS 1
 _ACEOF
 
 
 _ACEOF
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether struct fs_struct uses spinlock_t" >&5
-$as_echo_n "checking whether struct fs_struct uses spinlock_t... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether kernel_read() takes loff_t pointer" >&5
+$as_echo_n "checking whether kernel_read() takes loff_t pointer... " >&6; }
        tmp_flags="$EXTRA_KCFLAGS"
        EXTRA_KCFLAGS="-Werror"
 
        tmp_flags="$EXTRA_KCFLAGS"
        EXTRA_KCFLAGS="-Werror"
 
@@ -15384,15 +15114,19 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/sched.h>
-               #include <linux/fs_struct.h>
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct fs_struct fs;
-               spin_lock_init(&fs.lock);
+               struct file *file = NULL;
+               void *buf = NULL;
+               size_t count = 0;
+               loff_t *pos = NULL;
+               ssize_t ret;
+
+               ret = kernel_read(file, buf, count, pos);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -15401,9 +15135,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -15419,7 +15155,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_FS_STRUCT_SPINLOCK 1
+#define HAVE_KERNEL_READ_PPOS 1
 _ACEOF
 
 
 _ACEOF
 
 
        EXTRA_KCFLAGS="$tmp_flags"
 
 
        EXTRA_KCFLAGS="$tmp_flags"
 
 
-       { $as_echo "$as_me:$LINENO: checking whether struct cred exists" >&5
-$as_echo_n "checking whether struct cred exists... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether timer_list.function gets a timer_list" >&5
+$as_echo_n "checking whether timer_list.function gets a timer_list... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -15452,14 +15190,20 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/cred.h>
+               #include <linux/timer.h>
+               void task_expire(struct timer_list *tl) {}
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct cred *cr __attribute__ ((unused));
-               cr  = NULL;
+               #ifndef from_timer
+               #error "No from_timer() macro"
+               #endif
+
+               struct timer_list timer;
+               timer.function = task_expire;
+               timer_setup(&timer, NULL, 0);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -15468,9 +15212,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -15486,7 +15232,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_CRED_STRUCT 1
+#define HAVE_KERNEL_TIMER_FUNCTION_TIMER_LIST 1
 _ACEOF
 
 
 _ACEOF
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
+ ;;
+               user)      ;;
+               all)
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol groups_search is exported" >&5
-$as_echo_n "checking whether symbol groups_search is exported... " >&6; }
-       grep -q -E '[[:space:]]groups_search[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(groups_search)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
 
 
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GROUPS_SEARCH 1
-_ACEOF
-
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GROUPS_SEARCH 1
-_ACEOF
-
-       fi
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether symbol __put_task_struct is exported" >&5
-$as_echo_n "checking whether symbol __put_task_struct is exported... " >&6; }
-       grep -q -E '[[:space:]]__put_task_struct[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(__put_task_struct)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_PUT_TASK_STRUCT 1
-_ACEOF
-
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_PUT_TASK_STRUCT 1
-_ACEOF
-
-       fi
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether proc_handler() wants 5 args" >&5
-$as_echo_n "checking whether proc_handler() wants 5 args... " >&6; }
-
-
-cat confdefs.h - <<_ACEOF >conftest.c
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-
-               #include <linux/sysctl.h>
-
-int
-main (void)
-{
-
-               proc_dostring(NULL, 0, NULL, NULL, NULL);
-
-  ;
-  return 0;
-}
-
-_ACEOF
-
-
-       rm -Rf build && mkdir -p build
-       echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_5ARGS_PROC_HANDLER 1
-_ACEOF
-
-
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+# Check whether --with-linux was given.
+if test "${with_linux+set}" = set; then
+  withval=$with_linux; kernelsrc="$withval"
+fi
 
 
 
 
 
 
+# Check whether --with-linux-obj was given.
+if test "${with_linux_obj+set}" = set; then
+  withval=$with_linux_obj; kernelbuild="$withval"
 fi
 
 fi
 
-       rm -Rf build
-
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether symbol kvasprintf is exported" >&5
-$as_echo_n "checking whether symbol kvasprintf is exported... " >&6; }
-       grep -q -E '[[:space:]]kvasprintf[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(kvasprintf)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
 
 
+       { $as_echo "$as_me:$LINENO: checking kernel source directory" >&5
+$as_echo_n "checking kernel source directory... " >&6; }
+       if test -z "$kernelsrc"; then
+               if test -e "/lib/modules/$(uname -r)/source"; then
+                       headersdir="/lib/modules/$(uname -r)/source"
+                       sourcelink=$(readlink -f "$headersdir")
+               elif test -e "/lib/modules/$(uname -r)/build"; then
+                       headersdir="/lib/modules/$(uname -r)/build"
+                       sourcelink=$(readlink -f "$headersdir")
                else
                else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_KVASPRINTF 1
-_ACEOF
-
+                       sourcelink=$(ls -1d /usr/src/kernels/* \
+                                    /usr/src/linux-* \
+                                    2>/dev/null | grep -v obj | tail -1)
                fi
                fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_KVASPRINTF 1
-_ACEOF
-
-       fi
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether symbol rwsem_is_locked is exported" >&5
-$as_echo_n "checking whether symbol rwsem_is_locked is exported... " >&6; }
-       grep -q -E '[[:space:]]rwsem_is_locked[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in lib/rwsem-spinlock.c; do
-                       grep -q -E "EXPORT_SYMBOL.*(rwsem_is_locked)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
 
 
+               if test -n "$sourcelink" && test -e ${sourcelink}; then
+                       kernelsrc=`readlink -f ${sourcelink}`
                else
                else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define RWSEM_IS_LOCKED_TAKES_WAIT_LOCK 1
-_ACEOF
-
+                       kernelsrc="Not found"
                fi
        else
                fi
        else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define RWSEM_IS_LOCKED_TAKES_WAIT_LOCK 1
-_ACEOF
-
-       fi
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether symbol invalidate_inodes is exported" >&5
-$as_echo_n "checking whether symbol invalidate_inodes is exported... " >&6; }
-       grep -q -E '[[:space:]]invalidate_inodes[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(invalidate_inodes)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_INVALIDATE_INODES 1
-_ACEOF
-
+               if test "$kernelsrc" = "NONE"; then
+                       kernsrcver=NONE
                fi
                fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_INVALIDATE_INODES 1
-_ACEOF
-
+               withlinux=yes
        fi
 
        fi
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol invalidate_inodes_check is exported" >&5
-$as_echo_n "checking whether symbol invalidate_inodes_check is exported... " >&6; }
-       grep -q -E '[[:space:]]invalidate_inodes_check[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(invalidate_inodes_check)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+       { $as_echo "$as_me:$LINENO: result: $kernelsrc" >&5
+$as_echo "$kernelsrc" >&6; }
+       if test ! -d "$kernelsrc"; then
+               { { $as_echo "$as_me:$LINENO: error:
+       *** Please make sure the kernel devel package for your distribution
+       *** is installed and then try again.  If that fails, you can specify the
+       *** location of the kernel source with the '--with-linux=PATH' option." >&5
+$as_echo "$as_me: error:
+       *** Please make sure the kernel devel package for your distribution
+       *** is installed and then try again.  If that fails, you can specify the
+       *** location of the kernel source with the '--with-linux=PATH' option." >&2;}
+   { (exit 1); exit 1; }; }
+       fi
 
 
+       { $as_echo "$as_me:$LINENO: checking kernel build directory" >&5
+$as_echo_n "checking kernel build directory... " >&6; }
+       if test -z "$kernelbuild"; then
+               if test x$withlinux != xyes -a -e "/lib/modules/$(uname -r)/build"; then
+                       kernelbuild=`readlink -f /lib/modules/$(uname -r)/build`
+               elif test -d ${kernelsrc}-obj/${target_cpu}/${target_cpu}; then
+                       kernelbuild=${kernelsrc}-obj/${target_cpu}/${target_cpu}
+               elif test -d ${kernelsrc}-obj/${target_cpu}/default; then
+                       kernelbuild=${kernelsrc}-obj/${target_cpu}/default
+               elif test -d `dirname ${kernelsrc}`/build-${target_cpu}; then
+                       kernelbuild=`dirname ${kernelsrc}`/build-${target_cpu}
                else
                else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_INVALIDATE_INODES_CHECK 1
-_ACEOF
-
+                       kernelbuild=${kernelsrc}
                fi
                fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_INVALIDATE_INODES_CHECK 1
-_ACEOF
-
        fi
        fi
+       { $as_echo "$as_me:$LINENO: result: $kernelbuild" >&5
+$as_echo "$kernelbuild" >&6; }
 
 
+       { $as_echo "$as_me:$LINENO: checking kernel source version" >&5
+$as_echo_n "checking kernel source version... " >&6; }
+       utsrelease1=$kernelbuild/include/linux/version.h
+       utsrelease2=$kernelbuild/include/linux/utsrelease.h
+       utsrelease3=$kernelbuild/include/generated/utsrelease.h
+       if test -r $utsrelease1 && fgrep -q UTS_RELEASE $utsrelease1; then
+               utsrelease=linux/version.h
+       elif test -r $utsrelease2 && fgrep -q UTS_RELEASE $utsrelease2; then
+               utsrelease=linux/utsrelease.h
+       elif test -r $utsrelease3 && fgrep -q UTS_RELEASE $utsrelease3; then
+               utsrelease=generated/utsrelease.h
+       fi
 
 
-       { $as_echo "$as_me:$LINENO: checking whether invalidate_inodes() wants 2 args" >&5
-$as_echo_n "checking whether invalidate_inodes() wants 2 args... " >&6; }
-
-
-cat confdefs.h - <<_ACEOF >conftest.c
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-
-               #include <linux/fs.h>
-
-int
-main (void)
-{
-
-               return __invalidate_device(NULL, 0);
-
-  ;
-  return 0;
-}
-
-_ACEOF
-
-
-       rm -Rf build && mkdir -p build
-       echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_2ARGS_INVALIDATE_INODES 1
-_ACEOF
-
-
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-
-
-fi
-
-       rm -Rf build
-
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether symbol shrink_dcache_memory is exported" >&5
-$as_echo_n "checking whether symbol shrink_dcache_memory is exported... " >&6; }
-       grep -q -E '[[:space:]]shrink_dcache_memory[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in fs/dcache.c; do
-                       grep -q -E "EXPORT_SYMBOL.*(shrink_dcache_memory)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SHRINK_DCACHE_MEMORY 1
-_ACEOF
-
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SHRINK_DCACHE_MEMORY 1
-_ACEOF
-
-       fi
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether symbol shrink_icache_memory is exported" >&5
-$as_echo_n "checking whether symbol shrink_icache_memory is exported... " >&6; }
-       grep -q -E '[[:space:]]shrink_icache_memory[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in fs/inode.c; do
-                       grep -q -E "EXPORT_SYMBOL.*(shrink_icache_memory)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SHRINK_ICACHE_MEMORY 1
-_ACEOF
-
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SHRINK_ICACHE_MEMORY 1
-_ACEOF
-
-       fi
-
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether symbol kern_path_parent exists in header" >&5
-$as_echo_n "checking whether symbol kern_path_parent exists in header... " >&6; }
-       header=0
-       for file in include/linux/namei.h; do
-               grep -q "int kern_path_parent(const char \*, struct nameidata \*)" "$LINUX/$file" 2>/dev/null
-               rc=$?
-               if test $rc -eq 0; then
-                       header=1
-                       break;
-               fi
-       done
-       if test $header -eq 0; then
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_KERN_PATH_PARENT_HEADER 1
-_ACEOF
-
-       fi
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether symbol kern_path_parent is exported" >&5
-$as_echo_n "checking whether symbol kern_path_parent is exported... " >&6; }
-       grep -q -E '[[:space:]]kern_path_parent[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in fs/namei.c; do
-                       grep -q -E "EXPORT_SYMBOL.*(kern_path_parent)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_KERN_PATH_PARENT_SYMBOL 1
-_ACEOF
-
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_KERN_PATH_PARENT_SYMBOL 1
-_ACEOF
-
-       fi
-
-
-       { $as_echo "$as_me:$LINENO: checking whether zlib_deflate_workspacesize() wants 2 args" >&5
-$as_echo_n "checking whether zlib_deflate_workspacesize() wants 2 args... " >&6; }
-
-
-cat confdefs.h - <<_ACEOF >conftest.c
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-
-               #include <linux/zlib.h>
-
-int
-main (void)
-{
-
-               return zlib_deflate_workspacesize(MAX_WBITS, MAX_MEM_LEVEL);
-
-  ;
-  return 0;
-}
-
-_ACEOF
-
-
-       rm -Rf build && mkdir -p build
-       echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_2ARGS_ZLIB_DEFLATE_WORKSPACESIZE 1
-_ACEOF
-
-
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-
-
-fi
-
-       rm -Rf build
-
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether struct shrink_control exists" >&5
-$as_echo_n "checking whether struct shrink_control exists... " >&6; }
-
-
-cat confdefs.h - <<_ACEOF >conftest.c
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-
-               #include <linux/mm.h>
-
-int
-main (void)
-{
-
-               struct shrink_control sc __attribute__ ((unused));
-
-               sc.nr_to_scan = 0;
-               sc.gfp_mask = GFP_KERNEL;
-
-  ;
-  return 0;
-}
-
-_ACEOF
-
-
-       rm -Rf build && mkdir -p build
-       echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SHRINK_CONTROL_STRUCT 1
-_ACEOF
-
-
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-
-
-fi
-
-       rm -Rf build
-
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether struct rw_semaphore member wait_lock is raw" >&5
-$as_echo_n "checking whether struct rw_semaphore member wait_lock is raw... " >&6; }
-       tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Werror"
-
-
-cat confdefs.h - <<_ACEOF >conftest.c
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-
-               #include <linux/rwsem.h>
-
-int
-main (void)
-{
-
-               struct rw_semaphore dummy_semaphore __attribute__ ((unused));
-               raw_spinlock_t dummy_lock __attribute__ ((unused));
-               dummy_semaphore.wait_lock = dummy_lock;
-
-  ;
-  return 0;
-}
-
-_ACEOF
-
-
-       rm -Rf build && mkdir -p build
-       echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define RWSEM_SPINLOCK_IS_RAW 1
-_ACEOF
-
-
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-
-
-fi
-
-       rm -Rf build
-
-
-       EXTRA_KCFLAGS="$tmp_flags"
-
- ;;
-                user)      ;;
-                all)
-
-
-# Check whether --with-linux was given.
-if test "${with_linux+set}" = set; then
-  withval=$with_linux; kernelsrc="$withval"
-fi
-
-
-
-# Check whether --with-linux-obj was given.
-if test "${with_linux_obj+set}" = set; then
-  withval=$with_linux_obj; kernelbuild="$withval"
-fi
-
-
-       { $as_echo "$as_me:$LINENO: checking kernel source directory" >&5
-$as_echo_n "checking kernel source directory... " >&6; }
-       if test -z "$kernelsrc"; then
-               if test -e "/lib/modules/$(uname -r)/source"; then
-                       headersdir="/lib/modules/$(uname -r)/source"
-                       sourcelink=$(readlink -f "$headersdir")
-               elif test -e "/lib/modules/$(uname -r)/build"; then
-                       headersdir="/lib/modules/$(uname -r)/build"
-                       sourcelink=$(readlink -f "$headersdir")
-               else
-                       sourcelink=$(ls -1d /usr/src/kernels/* \
-                                    /usr/src/linux-* \
-                                    2>/dev/null | grep -v obj | tail -1)
-               fi
-
-               if test -n "$sourcelink" && test -e ${sourcelink}; then
-                       kernelsrc=`readlink -f ${sourcelink}`
-               else
-                       { $as_echo "$as_me:$LINENO: result: Not found" >&5
-$as_echo "Not found" >&6; }
-                       { { $as_echo "$as_me:$LINENO: error:
-       *** Please make sure the kernel devel package for your distribution
-       *** is installed then try again.  If that fails you can specify the
-       *** location of the kernel source with the '--with-linux=PATH' option." >&5
-$as_echo "$as_me: error:
-       *** Please make sure the kernel devel package for your distribution
-       *** is installed then try again.  If that fails you can specify the
-       *** location of the kernel source with the '--with-linux=PATH' option." >&2;}
-   { (exit 1); exit 1; }; }
-               fi
-       else
-               if test "$kernelsrc" = "NONE"; then
-                       kernsrcver=NONE
-               fi
-       fi
-
-       { $as_echo "$as_me:$LINENO: result: $kernelsrc" >&5
-$as_echo "$kernelsrc" >&6; }
-       { $as_echo "$as_me:$LINENO: checking kernel build directory" >&5
-$as_echo_n "checking kernel build directory... " >&6; }
-       if test -z "$kernelbuild"; then
-               if test -e "/lib/modules/$(uname -r)/build"; then
-                       kernelbuild=`readlink -f /lib/modules/$(uname -r)/build`
-               elif test -d ${kernelsrc}-obj/${target_cpu}/${target_cpu}; then
-                       kernelbuild=${kernelsrc}-obj/${target_cpu}/${target_cpu}
-               elif test -d ${kernelsrc}-obj/${target_cpu}/default; then
-                       kernelbuild=${kernelsrc}-obj/${target_cpu}/default
-               elif test -d `dirname ${kernelsrc}`/build-${target_cpu}; then
-                       kernelbuild=`dirname ${kernelsrc}`/build-${target_cpu}
-               else
-                       kernelbuild=${kernelsrc}
-               fi
-       fi
-       { $as_echo "$as_me:$LINENO: result: $kernelbuild" >&5
-$as_echo "$kernelbuild" >&6; }
-
-       { $as_echo "$as_me:$LINENO: checking kernel source version" >&5
-$as_echo_n "checking kernel source version... " >&6; }
-       utsrelease1=$kernelbuild/include/linux/version.h
-       utsrelease2=$kernelbuild/include/linux/utsrelease.h
-       utsrelease3=$kernelbuild/include/generated/utsrelease.h
-       if test -r $utsrelease1 && fgrep -q UTS_RELEASE $utsrelease1; then
-               utsrelease=linux/version.h
-       elif test -r $utsrelease2 && fgrep -q UTS_RELEASE $utsrelease2; then
-               utsrelease=linux/utsrelease.h
-       elif test -r $utsrelease3 && fgrep -q UTS_RELEASE $utsrelease3; then
-               utsrelease=generated/utsrelease.h
-       fi
-
-       if test "$utsrelease"; then
-               kernsrcver=`(echo "#include <$utsrelease>";
-                            echo "kernsrcver=UTS_RELEASE") |
-                            cpp -I $kernelbuild/include |
-                            grep "^kernsrcver=" | cut -d \" -f 2`
-
-               if test -z "$kernsrcver"; then
-                       { $as_echo "$as_me:$LINENO: result: Not found" >&5
-$as_echo "Not found" >&6; }
-                       { { $as_echo "$as_me:$LINENO: error: *** Cannot determine kernel version." >&5
-$as_echo "$as_me: error: *** Cannot determine kernel version." >&2;}
-   { (exit 1); exit 1; }; }
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: Not found" >&5
-$as_echo "Not found" >&6; }
-               { { $as_echo "$as_me:$LINENO: error: *** Cannot find UTS_RELEASE definition." >&5
-$as_echo "$as_me: error: *** Cannot find UTS_RELEASE definition." >&2;}
-   { (exit 1); exit 1; }; }
-       fi
-
-       { $as_echo "$as_me:$LINENO: result: $kernsrcver" >&5
-$as_echo "$kernsrcver" >&6; }
-
-       LINUX=${kernelsrc}
-       LINUX_OBJ=${kernelbuild}
-       LINUX_VERSION=${kernsrcver}
-
-
-
-
-
-
-       modpost=$LINUX/scripts/Makefile.modpost
-       { $as_echo "$as_me:$LINENO: checking kernel file name for module symbols" >&5
-$as_echo_n "checking kernel file name for module symbols... " >&6; }
-       if test -f "$modpost"; then
-               if grep -q Modules.symvers $modpost; then
-                       LINUX_SYMBOLS=Modules.symvers
-               else
-                       LINUX_SYMBOLS=Module.symvers
-               fi
-
-               if ! test -f "$LINUX_OBJ/$LINUX_SYMBOLS"; then
-                       { { $as_echo "$as_me:$LINENO: error:
-       *** Please make sure the kernel devel package for your distribution
-       *** is installed.  If your building with a custom kernel make sure the
-       *** kernel is configured, built, and the '--with-linux=PATH' configure
-       *** option refers to the location of the kernel source." >&5
-$as_echo "$as_me: error:
-       *** Please make sure the kernel devel package for your distribution
-       *** is installed.  If your building with a custom kernel make sure the
-       *** kernel is configured, built, and the '--with-linux=PATH' configure
-       *** option refers to the location of the kernel source." >&2;}
-   { (exit 1); exit 1; }; }
-               fi
-       else
-               LINUX_SYMBOLS=NONE
-       fi
-       { $as_echo "$as_me:$LINENO: result: $LINUX_SYMBOLS" >&5
-$as_echo "$LINUX_SYMBOLS" >&6; }
-
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether Linux was built with CONFIG_PREEMPT" >&5
-$as_echo_n "checking whether Linux was built with CONFIG_PREEMPT... " >&6; }
-
-
-cat confdefs.h - <<_ACEOF >conftest.c
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-
-               #include <linux/module.h>
-
-int
-main (void)
-{
-
-               #ifndef CONFIG_PREEMPT
-               #error CONFIG_PREEMPT not #defined
-               #endif
-
-  ;
-  return 0;
-}
-
-_ACEOF
-
-
-       rm -Rf build && mkdir -p build
-       echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-               { { $as_echo "$as_me:$LINENO: error:
-               *** Kernel built with CONFIG_PREEMPT which is not supported.
-               ** You must rebuild your kernel without this option." >&5
-$as_echo "$as_me: error:
-               *** Kernel built with CONFIG_PREEMPT which is not supported.
-               ** You must rebuild your kernel without this option." >&2;}
-   { (exit 1); exit 1; }; }
-
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-
-
-
-fi
-
-       rm -Rf build
-
-
-
-
-
-       if test "${LINUX_OBJ}" != "${LINUX}"; then
-               KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ"
-       fi
-
-
-       KERNELCPPFLAGS="$KERNELCPPFLAGS -Wstrict-prototypes"
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether debugging is enabled" >&5
-$as_echo_n "checking whether debugging is enabled... " >&6; }
-       # Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then
-  enableval=$enable_debug;
-else
-  enable_debug=no
-fi
-
-
-       if test "x$enable_debug" = xyes; then
-
-               KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG -Werror"
-               DEBUG_CFLAGS="-DDEBUG -Werror"
-               DEBUG_SPL="_with_debug"
-
-else
-
-               KERNELCPPFLAGS="${KERNELCPPFLAGS} -DNDEBUG"
-               DEBUG_CFLAGS="-DNDEBUG"
-               DEBUG_SPL="_without_debug"
-
-fi
-
-
-
-
-       { $as_echo "$as_me:$LINENO: result: $enable_debug" >&5
-$as_echo "$enable_debug" >&6; }
-
-
-       # Check whether --enable-debug-log was given.
-if test "${enable_debug_log+set}" = set; then
-  enableval=$enable_debug_log;
-else
-  enable_debug_log=yes
-fi
-
-
-       if test "x$enable_debug_log" = xyes; then
-
-               KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG_LOG"
-               DEBUG_LOG="_with_debug_log"
-
-cat >>confdefs.h <<\_ACEOF
-#define DEBUG_LOG 1
-_ACEOF
-
-
-else
-
-               DEBUG_LOG="_without_debug_log"
-
-fi
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether basic debug logging is enabled" >&5
-$as_echo_n "checking whether basic debug logging is enabled... " >&6; }
-       { $as_echo "$as_me:$LINENO: result: $enable_debug_log" >&5
-$as_echo "$enable_debug_log" >&6; }
-
-
-       # Check whether --enable-debug-kmem was given.
-if test "${enable_debug_kmem+set}" = set; then
-  enableval=$enable_debug_kmem;
-else
-  enable_debug_kmem=yes
-fi
-
-
-       if test "x$enable_debug_kmem" = xyes; then
-
-               KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG_KMEM"
-               DEBUG_KMEM="_with_debug_kmem"
-
-cat >>confdefs.h <<\_ACEOF
-#define DEBUG_KMEM 1
-_ACEOF
-
-
-else
-
-               DEBUG_KMEM="_without_debug_kmem"
-
-fi
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether basic kmem accounting is enabled" >&5
-$as_echo_n "checking whether basic kmem accounting is enabled... " >&6; }
-       { $as_echo "$as_me:$LINENO: result: $enable_debug_kmem" >&5
-$as_echo "$enable_debug_kmem" >&6; }
-
-
-       # Check whether --enable-debug-kmem-tracking was given.
-if test "${enable_debug_kmem_tracking+set}" = set; then
-  enableval=$enable_debug_kmem_tracking;
-else
-  enable_debug_kmem_tracking=no
-fi
-
-
-       if test "x$enable_debug_kmem_tracking" = xyes; then
-
-               KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG_KMEM_TRACKING"
-               DEBUG_KMEM_TRACKING="_with_debug_kmem_tracking"
-
-cat >>confdefs.h <<\_ACEOF
-#define DEBUG_KMEM_TRACKING 1
-_ACEOF
-
-
-else
-
-               DEBUG_KMEM_TRACKING="_without_debug_kmem_tracking"
-
-fi
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether detailed kmem tracking is enabled" >&5
-$as_echo_n "checking whether detailed kmem tracking is enabled... " >&6; }
-       { $as_echo "$as_me:$LINENO: result: $enable_debug_kmem_tracking" >&5
-$as_echo "$enable_debug_kmem_tracking" >&6; }
-
-
-       # Check whether --enable-atomic-spinlocks was given.
-if test "${enable_atomic_spinlocks+set}" = set; then
-  enableval=$enable_atomic_spinlocks;
-else
-  enable_atomic_spinlocks=check
-fi
-
-
-
-
-cat confdefs.h - <<_ACEOF >conftest.c
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-
-               #include <asm/atomic.h>
-
-int
-main (void)
-{
-
-               atomic64_t *ptr __attribute__ ((unused));
-
-  ;
-  return 0;
-}
-
-_ACEOF
-
-
-       rm -Rf build && mkdir -p build
-       echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-
-               have_atomic64_t=yes
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_ATOMIC64_T 1
-_ACEOF
-
-
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-               have_atomic64_t=no
-
-
-
-fi
-
-       rm -Rf build
-
-
-
-       if test "x$enable_atomic_spinlocks" = xcheck; then
-
-               if test "x$have_atomic64_t" = xyes; then
-
-                       enable_atomic_spinlocks=no
-
-else
-
-                       enable_atomic_spinlocks=yes
-
-fi
-
-
-fi
-
-
-       if test "x$enable_atomic_spinlocks" = xyes; then
-
-
-cat >>confdefs.h <<\_ACEOF
-#define ATOMIC_SPINLOCK 1
-_ACEOF
-
-
-else
-
-               if test "x$have_atomic64_t" = xno; then
-
-                       { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: --disable-atomic-spinlocks given but required atomic64 support is unavailable
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: --disable-atomic-spinlocks given but required atomic64 support is unavailable
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
-
-fi
-
-
-fi
-
-
-       { $as_echo "$as_me:$LINENO: checking whether atomic types use spinlocks" >&5
-$as_echo_n "checking whether atomic types use spinlocks... " >&6; }
-       { $as_echo "$as_me:$LINENO: result: $enable_atomic_spinlocks" >&5
-$as_echo "$enable_atomic_spinlocks" >&6; }
-
-       { $as_echo "$as_me:$LINENO: checking whether kernel defines atomic64_t" >&5
-$as_echo_n "checking whether kernel defines atomic64_t... " >&6; }
-       { $as_echo "$as_me:$LINENO: result: $have_atomic64_t" >&5
-$as_echo "$have_atomic64_t" >&6; }
-
-       { $as_echo "$as_me:$LINENO: checking whether kernel defines atomic64_cmpxchg" >&5
-$as_echo_n "checking whether kernel defines atomic64_cmpxchg... " >&6; }
-
-
-cat confdefs.h - <<_ACEOF >conftest.c
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-
-               #include <asm/atomic.h>
-               #include <asm/system.h>
+       if test "$utsrelease"; then
+               kernsrcver=`(echo "#include <$utsrelease>";
+                            echo "kernsrcver=UTS_RELEASE") |
+                            cpp -I $kernelbuild/include |
+                            grep "^kernsrcver=" | cut -d \" -f 2`
 
 
-int
-main (void)
-{
+               if test -z "$kernsrcver"; then
+                       { $as_echo "$as_me:$LINENO: result: Not found" >&5
+$as_echo "Not found" >&6; }
+                       { { $as_echo "$as_me:$LINENO: error: *** Cannot determine kernel version." >&5
+$as_echo "$as_me: error: *** Cannot determine kernel version." >&2;}
+   { (exit 1); exit 1; }; }
+               fi
+       else
+               { $as_echo "$as_me:$LINENO: result: Not found" >&5
+$as_echo "Not found" >&6; }
+               if test "x$enable_linux_builtin" != xyes; then
+                       { { $as_echo "$as_me:$LINENO: error: *** Cannot find UTS_RELEASE definition." >&5
+$as_echo "$as_me: error: *** Cannot find UTS_RELEASE definition." >&2;}
+   { (exit 1); exit 1; }; }
+               else
+                       { { $as_echo "$as_me:$LINENO: error:
+       *** Cannot find UTS_RELEASE definition.
+       *** Please run 'make prepare' inside the kernel source tree." >&5
+$as_echo "$as_me: error:
+       *** Cannot find UTS_RELEASE definition.
+       *** Please run 'make prepare' inside the kernel source tree." >&2;}
+   { (exit 1); exit 1; }; }
+               fi
+       fi
 
 
-               atomic64_cmpxchg((atomic64_t *)NULL, 0, 0);
+       { $as_echo "$as_me:$LINENO: result: $kernsrcver" >&5
+$as_echo "$kernsrcver" >&6; }
 
 
-  ;
-  return 0;
-}
+       LINUX=${kernelsrc}
+       LINUX_OBJ=${kernelbuild}
+       LINUX_VERSION=${kernsrcver}
 
 
-_ACEOF
 
 
 
 
-       rm -Rf build && mkdir -p build
-       echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
 
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_ATOMIC64_CMPXCHG 1
-_ACEOF
 
 
+       modpost=$LINUX/scripts/Makefile.modpost
+       { $as_echo "$as_me:$LINENO: checking kernel file name for module symbols" >&5
+$as_echo_n "checking kernel file name for module symbols... " >&6; }
+       if test "x$enable_linux_builtin" != xyes -a -f "$modpost"; then
+               if grep -q Modules.symvers $modpost; then
+                       LINUX_SYMBOLS=Modules.symvers
+               else
+                       LINUX_SYMBOLS=Module.symvers
+               fi
 
 
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+               if ! test -f "$LINUX_OBJ/$LINUX_SYMBOLS"; then
+                       { { $as_echo "$as_me:$LINENO: error:
+       *** Please make sure the kernel devel package for your distribution
+       *** is installed.  If you are building with a custom kernel, make sure the
+       *** kernel is configured, built, and the '--with-linux=PATH' configure
+       *** option refers to the location of the kernel source." >&5
+$as_echo "$as_me: error:
+       *** Please make sure the kernel devel package for your distribution
+       *** is installed.  If you are building with a custom kernel, make sure the
+       *** kernel is configured, built, and the '--with-linux=PATH' configure
+       *** option refers to the location of the kernel source." >&2;}
+   { (exit 1); exit 1; }; }
+               fi
+       else
+               LINUX_SYMBOLS=NONE
+       fi
+       { $as_echo "$as_me:$LINENO: result: $LINUX_SYMBOLS" >&5
+$as_echo "$LINUX_SYMBOLS" >&6; }
 
 
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
 
 
 
 
 
 
-fi
+       if test "${LINUX_OBJ}" != "${LINUX}"; then
+               KERNELMAKE_PARAMS="$KERNELMAKE_PARAMS O=$LINUX_OBJ"
+       fi
 
 
-       rm -Rf build
 
 
+       KERNELCPPFLAGS="$KERNELCPPFLAGS -Wstrict-prototypes"
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether kernel defines atomic64_xchg" >&5
-$as_echo_n "checking whether kernel defines atomic64_xchg... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether modules can be built" >&5
+$as_echo_n "checking whether modules can be built... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -16787,14 +15437,10 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <asm/atomic.h>
-
 int
 main (void)
 {
 
 int
 main (void)
 {
 
-               atomic64_xchg((atomic64_t *)NULL, 0);
-
   ;
   return 0;
 }
   ;
   return 0;
 }
@@ -16802,9 +15448,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -16819,17 +15467,25 @@ _ACEOF
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_ATOMIC64_XCHG 1
-_ACEOF
-
-
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
+               if test "x$enable_linux_builtin" != xyes; then
+                       { { $as_echo "$as_me:$LINENO: error: *** Unable to build an empty module." >&5
+$as_echo "$as_me: error: *** Unable to build an empty module." >&2;}
+   { (exit 1); exit 1; }; }
+               else
+                       { { $as_echo "$as_me:$LINENO: error:
+       *** Unable to build an empty module.
+       *** Please run 'make scripts' inside the kernel source tree." >&5
+$as_echo "$as_me: error:
+       *** Unable to build an empty module.
+       *** Please run 'make scripts' inside the kernel source tree." >&2;}
+   { (exit 1); exit 1; }; }
+               fi
 
 
 
 
 
 
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether kernel defines uintptr_t" >&5
-$as_echo_n "checking whether kernel defines uintptr_t... " >&6; }
+       if test "x$cross_compiling" != xyes; then
 
 
+               if test "$cross_compiling" = yes; then
+  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: cannot run test program while cross compiling
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }; }
+else
+  cat >conftest.$ac_ext <<_ACEOF
 
 
-cat confdefs.h - <<_ACEOF >conftest.c
-/* confdefs.h.  */
+                       /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-
-               #include <linux/types.h>
+                               #include "$LINUX/include/linux/license.h"
 
 int
 
 int
-main (void)
+main ()
 {
 
 {
 
-               uintptr_t *ptr __attribute__ ((unused));
+                               return !license_is_gpl_compatible(
+                                   "$SPL_META_LICENSE");
 
   ;
   return 0;
 }
 
 _ACEOF
 
   ;
   return 0;
 }
 
 _ACEOF
-
-
-       rm -Rf build && mkdir -p build
-       echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   ac_status=$?
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   ac_status=$?
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_UINTPTR_T 1
+#define SPL_IS_GPL_COMPATIBLE 1
 _ACEOF
 
 
 else
 _ACEOF
 
 
 else
-  $as_echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 sed 's/^/| /' conftest.$ac_ext >&5
 
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+( exit $ac_status )
+
+
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
 
 
 
 fi
 
 
 
 
 fi
 
-       rm -Rf build
 
 
 
 
+       # Check whether --enable-atomic-spinlocks was given.
+if test "${enable_atomic_spinlocks+set}" = set; then
+  enableval=$enable_atomic_spinlocks;
+else
+  enable_atomic_spinlocks=check
+fi
+
 
 
-       { $as_echo "$as_me:$LINENO: checking whether INIT_WORK wants 3 args" >&5
-$as_echo_n "checking whether INIT_WORK wants 3 args... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -16915,14 +15594,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/workqueue.h>
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct work_struct work __attribute__ ((unused));
-               INIT_WORK(&work, NULL, NULL);
+               atomic64_t *ptr __attribute__ ((unused));
 
   ;
   return 0;
 
   ;
   return 0;
@@ -16931,9 +15609,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -16945,11 +15625,10 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+               have_atomic64_t=yes
 
 cat >>confdefs.h <<\_ACEOF
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_3ARGS_INIT_WORK 1
+#define HAVE_ATOMIC64_T 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -16957,8 +15636,7 @@ else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+               have_atomic64_t=no
 
 
 
 
 
 
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether register_sysctl_table() wants 2 args" >&5
-$as_echo_n "checking whether register_sysctl_table() wants 2 args... " >&6; }
-
+       if test "x$enable_atomic_spinlocks" = xcheck; then
 
 
-cat confdefs.h - <<_ACEOF >conftest.c
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+               if test "x$have_atomic64_t" = xyes; then
 
 
+                       enable_atomic_spinlocks=no
 
 
-               #include <linux/sysctl.h>
+else
 
 
-int
-main (void)
-{
+                       enable_atomic_spinlocks=yes
 
 
-               (void) register_sysctl_table(NULL, 0);
+fi
 
 
-  ;
-  return 0;
-}
 
 
-_ACEOF
+fi
 
 
 
 
-       rm -Rf build && mkdir -p build
-       echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+       if test "x$enable_atomic_spinlocks" = xyes; then
 
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_2ARGS_REGISTER_SYSCTL 1
+#define ATOMIC_SPINLOCK 1
 _ACEOF
 
 
 else
 _ACEOF
 
 
 else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
 
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+               if test "x$have_atomic64_t" = xno; then
+
+                       { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { $as_echo "$as_me:$LINENO: error: --disable-atomic-spinlocks given but required atomic64 support is unavailable
+See \`config.log' for more details." >&5
+$as_echo "$as_me: error: --disable-atomic-spinlocks given but required atomic64 support is unavailable
+See \`config.log' for more details." >&2;}
+   { (exit 1); exit 1; }; }; }
 
 
+fi
 
 
 fi
 
 
 
 fi
 
-       rm -Rf build
 
 
+       { $as_echo "$as_me:$LINENO: checking whether atomic types use spinlocks" >&5
+$as_echo_n "checking whether atomic types use spinlocks... " >&6; }
+       { $as_echo "$as_me:$LINENO: result: $enable_atomic_spinlocks" >&5
+$as_echo "$enable_atomic_spinlocks" >&6; }
 
 
+       { $as_echo "$as_me:$LINENO: checking whether kernel defines atomic64_t" >&5
+$as_echo_n "checking whether kernel defines atomic64_t... " >&6; }
+       { $as_echo "$as_me:$LINENO: result: $have_atomic64_t" >&5
+$as_echo "$have_atomic64_t" >&6; }
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether set_shrinker() available" >&5
-$as_echo_n "checking whether set_shrinker() available... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
+                                       { $as_echo "$as_me:$LINENO: checking whether old 2-argument shrinker exists" >&5
+$as_echo_n "checking whether old 2-argument shrinker exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -17047,11 +15715,17 @@ cat >>conftest.$ac_ext <<_ACEOF
 
                #include <linux/mm.h>
 
 
                #include <linux/mm.h>
 
+               int shrinker_cb(int nr_to_scan, gfp_t gfp_mask);
+
 int
 main (void)
 {
 
 int
 main (void)
 {
 
-               return set_shrinker(DEFAULT_SEEKS, NULL);
+               struct shrinker cache_shrinker = {
+                       .shrink = shrinker_cb,
+                       .seeks = DEFAULT_SEEKS,
+               };
+               register_shrinker(&cache_shrinker);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -17060,9 +15734,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -17078,7 +15754,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_SET_SHRINKER 1
+#define HAVE_2ARGS_OLD_SHRINKER_CALLBACK 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -17088,19 +15764,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
-
-
-
-fi
-
-       rm -Rf build
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether shrinker callback wants 3 args" >&5
-$as_echo_n "checking whether shrinker callback wants 3 args... " >&6; }
-       tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Werror"
+                                                                                               { $as_echo "$as_me:$LINENO: checking whether old 3-argument shrinker exists" >&5
+$as_echo_n "checking whether old 3-argument shrinker exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -17111,19 +15776,20 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/mm.h>
+                       #include <linux/mm.h>
 
 
-               int shrinker_cb(struct shrinker *, int, unsigned int);
+                       int shrinker_cb(struct shrinker *, int nr_to_scan,
+                                       gfp_t gfp_mask);
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct shrinker cache_shrinker = {
-                       .shrink = shrinker_cb,
-                       .seeks = DEFAULT_SEEKS,
-               };
-               register_shrinker(&cache_shrinker);
+                       struct shrinker cache_shrinker = {
+                               .shrink = shrinker_cb,
+                               .seeks = DEFAULT_SEEKS,
+                       };
+                       register_shrinker(&cache_shrinker);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -17132,9 +15798,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -17146,7 +15814,7 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
+                       { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
@@ -17158,20 +15826,10 @@ else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-               { $as_echo "$as_me:$LINENO: result: no" >&5
+                       { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 $as_echo "no" >&6; }
-
-
-
-fi
-
-       rm -Rf build
-
-
-       EXTRA_KCFLAGS="$tmp_flags"
-
-       { $as_echo "$as_me:$LINENO: checking whether struct path used in struct nameidata" >&5
-$as_echo_n "checking whether struct path used in struct nameidata... " >&6; }
+                                                                                                                                               { $as_echo "$as_me:$LINENO: checking whether new 2-argument shrinker exists" >&5
+$as_echo_n "checking whether new 2-argument shrinker exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -17182,16 +15840,20 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/namei.h>
+                               #include <linux/mm.h>
+
+                               int shrinker_cb(struct shrinker *,
+                                               struct shrink_control *sc);
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct nameidata nd __attribute__ ((unused));
-
-               nd.path.mnt = NULL;
-               nd.path.dentry = NULL;
+                               struct shrinker cache_shrinker = {
+                                       .shrink = shrinker_cb,
+                                       .seeks = DEFAULT_SEEKS,
+                               };
+                               register_shrinker(&cache_shrinker);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -17200,9 +15862,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -17214,11 +15878,11 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
+                               { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_PATH_IN_NAMEIDATA 1
+#define HAVE_2ARGS_NEW_SHRINKER_CALLBACK 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -17226,60 +15890,10 @@ else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-
-
-fi
-
-       rm -Rf build
-
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether symbol task_curr is exported" >&5
-$as_echo_n "checking whether symbol task_curr is exported... " >&6; }
-       grep -q -E '[[:space:]]task_curr[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in kernel/sched.c; do
-                       grep -q -E "EXPORT_SYMBOL.*(task_curr)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
+                               { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 $as_echo "no" >&6; }
-
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_TASK_CURR 1
-_ACEOF
-
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_TASK_CURR 1
-_ACEOF
-
-       fi
-
-
-       { $as_echo "$as_me:$LINENO: checking whether unnumbered sysctl support exists" >&5
-$as_echo_n "checking whether unnumbered sysctl support exists... " >&6; }
+                                                                                                                                                                                               { $as_echo "$as_me:$LINENO: checking whether ->count_objects callback exists" >&5
+$as_echo_n "checking whether ->count_objects callback exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -17290,15 +15904,22 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/sysctl.h>
+                                       #include <linux/mm.h>
+
+                                       unsigned long shrinker_cb(
+                                               struct shrinker *,
+                                               struct shrink_control *sc);
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               #ifndef CTL_UNNUMBERED
-               #error CTL_UNNUMBERED undefined
-               #endif
+                                       struct shrinker cache_shrinker = {
+                                               .count_objects = shrinker_cb,
+                                               .scan_objects = shrinker_cb,
+                                               .seeks = DEFAULT_SEEKS,
+                                       };
+                                       register_shrinker(&cache_shrinker);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -17307,9 +15928,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -17321,11 +15944,11 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
+                                       { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_CTL_UNNUMBERED 1
+#define HAVE_SPLIT_SHRINKER_CALLBACK 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -17333,8 +15956,33 @@ else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+                                       { { $as_echo "$as_me:$LINENO: error: error" >&5
+$as_echo "$as_me: error: error" >&2;}
+   { (exit 1); exit 1; }; }
+
+
+
+fi
+
+       rm -Rf build
+
+
+
+
+
+fi
+
+       rm -Rf build
+
+
+
+
+
+fi
+
+       rm -Rf build
+
+
 
 
 
 
 
 
@@ -17343,6 +15991,7 @@ fi
        rm -Rf build
 
 
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
        { $as_echo "$as_me:$LINENO: checking whether struct ctl_table has ctl_name" >&5
 
 
        { $as_echo "$as_me:$LINENO: checking whether struct ctl_table has ctl_name" >&5
@@ -17373,9 +16022,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -17410,8 +16061,9 @@ fi
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether fls64() is available" >&5
-$as_echo_n "checking whether fls64() is available... " >&6; }
+
+       { $as_echo "$as_me:$LINENO: checking whether CONFIG_TRIM_UNUSED_KSYM is disabled" >&5
+$as_echo_n "checking whether CONFIG_TRIM_UNUSED_KSYM is disabled... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -17422,14 +16074,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/bitops.h>
+               #if defined(CONFIG_TRIM_UNUSED_KSYMS)
+               #error CONFIG_TRIM_UNUSED_KSYMS not defined
+               #endif
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               return fls64(0);
-
   ;
   return 0;
 }
   ;
   return 0;
 }
@@ -17437,9 +16089,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -17454,17 +16108,19 @@ _ACEOF
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_FLS64 1
-_ACEOF
-
-
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
+               { { $as_echo "$as_me:$LINENO: error:
+       *** This kernel has unused symbols trimming enabled, please disable.
+       *** Rebuild the kernel with CONFIG_TRIM_UNUSED_KSYMS=n set." >&5
+$as_echo "$as_me: error:
+       *** This kernel has unused symbols trimming enabled, please disable.
+       *** Rebuild the kernel with CONFIG_TRIM_UNUSED_KSYMS=n set." >&2;}
+   { (exit 1); exit 1; }; }
 
 
 
 
 
 
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol device_create is exported" >&5
-$as_echo_n "checking whether symbol device_create is exported... " >&6; }
-       grep -q -E '[[:space:]]device_create[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in drivers/base/core.c; do
-                       grep -q -E "EXPORT_SYMBOL.*(device_create)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_DEVICE_CREATE 1
-_ACEOF
-
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_DEVICE_CREATE 1
-_ACEOF
-
-       fi
-
-
+       { $as_echo "$as_me:$LINENO: checking whether PDE_DATA() is available" >&5
+$as_echo_n "checking whether PDE_DATA() is available... " >&6; }
 
 
-       { $as_echo "$as_me:$LINENO: checking whether device_create() wants 5 args" >&5
-$as_echo_n "checking whether device_create() wants 5 args... " >&6; }
-       tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -17530,13 +16144,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/device.h>
+               #include <linux/proc_fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               device_create(NULL, NULL, 0, NULL, "%d", 1);
+               PDE_DATA(NULL);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -17545,9 +16159,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -17558,22 +16174,11 @@ _ACEOF
   ac_status=$?
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   ac_status=$?
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_5ARGS_DEVICE_CREATE 1
-_ACEOF
-
-
+  rc=0
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
-
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
+ rc=1
 
 
 fi
 
 
 fi
        rm -Rf build
 
 
        rm -Rf build
 
 
-       EXTRA_KCFLAGS="$tmp_flags"
-
+       if test $rc -ne 0; then :
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol class_device_create is exported" >&5
-$as_echo_n "checking whether symbol class_device_create is exported... " >&6; }
-       grep -q -E '[[:space:]]class_device_create[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in drivers/base/class.c; do
-                       grep -q -E "EXPORT_SYMBOL.*(class_device_create)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
+               { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
 $as_echo "no" >&6; }
 
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_CLASS_DEVICE_CREATE 1
-_ACEOF
-
-               fi
        else
        else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_CLASS_DEVICE_CREATE 1
-_ACEOF
-
-       fi
-
-
+               if test "x$enable_linux_builtin" != xyes; then
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol set_normalized_timespec is exported" >&5
-$as_echo_n "checking whether symbol set_normalized_timespec is exported... " >&6; }
-       grep -q -E '[[:space:]]set_normalized_timespec[[:space:]]' \
+       grep -q -E '[[:space:]]PDE_DATA[[:space:]]' \
                $LINUX_OBJ/Module*.symvers 2>/dev/null
        rc=$?
        if test $rc -ne 0; then
                export=0
                $LINUX_OBJ/Module*.symvers 2>/dev/null
        rc=$?
        if test $rc -ne 0; then
                export=0
-               for file in kernel/time.c; do
-                       grep -q -E "EXPORT_SYMBOL.*(set_normalized_timespec)" \
+               for file in ; do
+                       grep -q -E "EXPORT_SYMBOL.*(PDE_DATA)" \
                                "$LINUX_OBJ/$file" 2>/dev/null
                        rc=$?
                                "$LINUX_OBJ/$file" 2>/dev/null
                        rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
+                       if test $rc -eq 0; then
+                               export=1
+                               break;
+                       fi
                done
                done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SET_NORMALIZED_TIMESPEC_EXPORT 1
-_ACEOF
-
+               if test $export -eq 0; then :
+                       rc=1
+               else :
+                       rc=0
                fi
                fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SET_NORMALIZED_TIMESPEC_EXPORT 1
-_ACEOF
-
+       else :
+               rc=0
        fi
 
        fi
 
-
-
-       { $as_echo "$as_me:$LINENO: checking whether set_normalized_timespec() is an inline" >&5
-$as_echo_n "checking whether set_normalized_timespec() is an inline... " >&6; }
-
-
-cat confdefs.h - <<_ACEOF >conftest.c
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-
-               #include <linux/time.h>
-               void set_normalized_timespec(struct timespec *ts,
-                                            time_t sec, long nsec) { }
-
-int
-main (void)
-{
-
-  ;
-  return 0;
-}
-
-_ACEOF
-
-
-       rm -Rf build && mkdir -p build
-       echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+               fi
+               if test $rc -ne 0; then :
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+               else :
 
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_SET_NORMALIZED_TIMESPEC_INLINE 1
+#define HAVE_PDE_DATA 1
 _ACEOF
 
 
 _ACEOF
 
 
+               fi
+       fi
 
 
 
 
-fi
-
-       rm -Rf build
-
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether timespec_sub() is available" >&5
-$as_echo_n "checking whether timespec_sub() is available... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
+       { $as_echo "$as_me:$LINENO: checking whether set_fs_pwd() requires const struct path *" >&5
+$as_echo_n "checking whether set_fs_pwd() requires const struct path *... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -17743,16 +16251,18 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/time.h>
+               #include <linux/spinlock.h>
+               #include <linux/fs_struct.h>
+               #include <linux/path.h>
+               void (*const set_fs_pwd_func)
+                       (struct fs_struct *, const struct path *)
+                       = set_fs_pwd;
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct timespec a = { 0 };
-               struct timespec b = { 0 };
-               struct timespec c __attribute__ ((unused));
-               c = timespec_sub(a, b);
+               return 0;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -17761,9 +16271,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -17779,7 +16291,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_TIMESPEC_SUB 1
+#define HAVE_SET_FS_PWD_WITH_CONST 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -17787,20 +16299,6 @@ else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-
-
-fi
-
-       rm -Rf build
-
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether init_utsname() is available" >&5
-$as_echo_n "checking whether init_utsname() is available... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -17811,14 +16309,18 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/utsname.h>
+                       #include <linux/spinlock.h>
+                       #include <linux/fs_struct.h>
+                       #include <linux/path.h>
+                       void (*const set_fs_pwd_func)
+                               (struct fs_struct *, struct path *)
+                               = set_fs_pwd;
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct new_utsname *a __attribute__ ((unused));
-               a = init_utsname();
+                       return 0;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -17827,9 +16329,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -17841,20 +16345,24 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_INIT_UTSNAME 1
-_ACEOF
-
+                       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+                       { { $as_echo "$as_me:$LINENO: error: unknown" >&5
+$as_echo "$as_me: error: unknown" >&2;}
+   { (exit 1); exit 1; }; }
+
+
+
+fi
+
+       rm -Rf build
+
+
 
 
 
 
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether header linux/fdtable.h exists" >&5
-$as_echo_n "checking whether header linux/fdtable.h exists... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether vfs_fsync() wants 2 args" >&5
+$as_echo_n "checking whether vfs_fsync() wants 2 args... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -17877,13 +16386,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/fdtable.h>
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               return 0;
+               vfs_fsync(NULL, 0);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -17892,9 +16401,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -17906,14 +16417,13 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
+               { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_FDTABLE_HEADER 1
+#define HAVE_2ARGS_VFS_FSYNC 1
 _ACEOF
 
 _ACEOF
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
 
 else
   $as_echo "$as_me: failed program was:" >&5
 
 else
   $as_echo "$as_me: failed program was:" >&5
@@ -17924,7 +16434,6 @@ $as_echo "no" >&6; }
 
 
 
 
 
 
-
 fi
 
        rm -Rf build
 fi
 
        rm -Rf build
@@ -17932,9 +16441,8 @@ fi
 
 
 
 
 
 
-
-       { $as_echo "$as_me:$LINENO: checking whether files_fdtable() is available" >&5
-$as_echo_n "checking whether files_fdtable() is available... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether truncate_range() inode operation is available" >&5
+$as_echo_n "checking whether truncate_range() inode operation is available... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -17945,19 +16453,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/sched.h>
-               #include <linux/file.h>
-               #ifdef HAVE_FDTABLE_HEADER
-               #include <linux/fdtable.h>
-               #endif
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct files_struct *files = current->files;
-               struct fdtable *fdt __attribute__ ((unused));
-               fdt = files_fdtable(files);
+               struct inode_operations ops;
+               ops.truncate_range = NULL;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -17966,9 +16469,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -17984,7 +16489,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_FILES_FDTABLE 1
+#define HAVE_INODE_TRUNCATE_RANGE 1
 _ACEOF
 
 
 _ACEOF
 
 
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether __clear_close_on_exec() is available" >&5
-$as_echo_n "checking whether __clear_close_on_exec() is available... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether struct fs_struct uses spinlock_t" >&5
+$as_echo_n "checking whether struct fs_struct uses spinlock_t... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -18016,16 +16523,15 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/fdtable.h>
+               #include <linux/sched.h>
+               #include <linux/fs_struct.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct fdtable *fdt = NULL;
-               int fd = 0;
-
-               __clear_close_on_exec(fd, fdt);
+               static struct fs_struct fs;
+               spin_lock_init(&fs.lock);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -18034,9 +16540,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -18052,7 +16560,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_CLEAR_CLOSE_ON_EXEC 1
+#define HAVE_FS_STRUCT_SPINLOCK 1
 _ACEOF
 
 
 _ACEOF
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether header linux/uaccess.h exists" >&5
-$as_echo_n "checking whether header linux/uaccess.h exists... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether kuid_t/kgid_t is available" >&5
+$as_echo_n "checking whether kuid_t/kgid_t is available... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -18084,13 +16593,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/uaccess.h>
+               #include <linux/uidgid.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               return 0;
+               kuid_t userid = KUIDT_INIT(0);
+               kgid_t groupid = KGIDT_INIT(0);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -18099,9 +16609,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -18114,35 +16626,6 @@ _ACEOF
   (exit $ac_status); }; }; then
 
 
   (exit $ac_status); }; }; then
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_UACCESS_HEADER 1
-_ACEOF
-
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-
-
-
-fi
-
-       rm -Rf build
-
-
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether kmalloc_node() is available" >&5
-$as_echo_n "checking whether kmalloc_node() is available... " >&6; }
-
 
 cat confdefs.h - <<_ACEOF >conftest.c
 /* confdefs.h.  */
 
 cat confdefs.h - <<_ACEOF >conftest.c
 /* confdefs.h.  */
@@ -18152,14 +16635,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/slab.h>
+                       #include <linux/uidgid.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               void *a __attribute__ ((unused));
-               a = kmalloc_node(1, GFP_KERNEL, 0);
+                       kuid_t userid = 0;
+                       kgid_t groupid = 0;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -18168,9 +16651,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -18182,20 +16667,20 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_KMALLOC_NODE 1
-_ACEOF
-
+                       { $as_echo "$as_me:$LINENO: result: yes; optional" >&5
+$as_echo "yes; optional" >&6; }
 
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+                       { $as_echo "$as_me:$LINENO: result: yes; mandatory" >&5
+$as_echo "yes; mandatory" >&6; }
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_KUIDGID_T 1
+_ACEOF
+
 
 
 
 
 
 
 
 
 
 
 
 
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol monotonic_clock is exported" >&5
-$as_echo_n "checking whether symbol monotonic_clock is exported... " >&6; }
-       grep -q -E '[[:space:]]monotonic_clock[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(monotonic_clock)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
+               { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
 $as_echo "no" >&6; }
 
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_MONOTONIC_CLOCK 1
-_ACEOF
 
 
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+fi
+
+       rm -Rf build
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_MONOTONIC_CLOCK 1
-_ACEOF
 
 
-       fi
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether struct inode has i_mutex" >&5
-$as_echo_n "checking whether struct inode has i_mutex... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether fops->fallocate() exists" >&5
+$as_echo_n "checking whether fops->fallocate() exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -18260,14 +16720,15 @@ cat >>conftest.$ac_ext <<_ACEOF
 
 
                #include <linux/fs.h>
 
 
                #include <linux/fs.h>
-               #include <linux/mutex.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct inode i;
-               mutex_init(&i.i_mutex);
+               long (*fallocate) (struct file *, int, loff_t, loff_t) = NULL;
+               struct file_operations fops __attribute__ ((unused)) = {
+                       .fallocate = fallocate,
+               };
 
   ;
   return 0;
 
   ;
   return 0;
@@ -18276,9 +16737,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -18294,7 +16757,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_INODE_I_MUTEX 1
+#define HAVE_FILE_FALLOCATE 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -18314,8 +16777,8 @@ fi
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether struct mutex has owner" >&5
-$as_echo_n "checking whether struct mutex has owner... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether iops->fallocate() exists" >&5
+$as_echo_n "checking whether iops->fallocate() exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -18326,14 +16789,16 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/mutex.h>
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct mutex mtx __attribute__ ((unused));
-               mtx.owner = NULL;
+               long (*fallocate) (struct inode *, int, loff_t, loff_t) = NULL;
+               struct inode_operations fops __attribute__ ((unused)) = {
+                       .fallocate = fallocate,
+               };
 
   ;
   return 0;
 
   ;
   return 0;
@@ -18342,9 +16807,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -18360,7 +16827,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_MUTEX_OWNER 1
+#define HAVE_INODE_FALLOCATE 1
 _ACEOF
 
 
 _ACEOF
 
 
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether struct mutex owner is a task_struct" >&5
-$as_echo_n "checking whether struct mutex owner is a task_struct... " >&6; }
-       tmp_flags="$EXTRA_KCFLAGS"
-       EXTRA_KCFLAGS="-Werror"
+       { $as_echo "$as_me:$LINENO: checking whether fops->fallocate() exists" >&5
+$as_echo_n "checking whether fops->fallocate() exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -18394,14 +16859,16 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/mutex.h>
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct mutex mtx __attribute__ ((unused));
-               mtx.owner = current;
+               long (*fallocate) (struct file *, int, loff_t, loff_t) = NULL;
+               struct file_operations_no_const fops __attribute__ ((unused)) = {
+                       .fallocate = fallocate,
+               };
 
   ;
   return 0;
 
   ;
   return 0;
@@ -18410,9 +16877,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -18428,7 +16897,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_MUTEX_OWNER_TASK_STRUCT 1
+#define HAVE_FILE_FALLOCATE 1
 _ACEOF
 
 
 _ACEOF
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
-       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether mutex_lock_nested() is available" >&5
-$as_echo_n "checking whether mutex_lock_nested() is available... " >&6; }
+
+       { $as_echo "$as_me:$LINENO: checking whether CONFIG_ZLIB_INFLATE is defined" >&5
+$as_echo_n "checking whether CONFIG_ZLIB_INFLATE is defined... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -18461,16 +16930,15 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/mutex.h>
+               #if !defined(CONFIG_ZLIB_INFLATE) && \
+                   !defined(CONFIG_ZLIB_INFLATE_MODULE)
+               #error CONFIG_ZLIB_INFLATE not defined
+               #endif
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct mutex mutex;
-               mutex_init(&mutex);
-               mutex_lock_nested(&mutex, 0);
-
   ;
   return 0;
 }
   ;
   return 0;
 }
@@ -18478,9 +16946,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -18495,17 +16965,19 @@ _ACEOF
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_MUTEX_LOCK_NESTED 1
-_ACEOF
-
-
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
+               { { $as_echo "$as_me:$LINENO: error:
+       *** This kernel does not include the required zlib inflate support.
+       *** Rebuild the kernel with CONFIG_ZLIB_INFLATE=y|m set." >&5
+$as_echo "$as_me: error:
+       *** This kernel does not include the required zlib inflate support.
+       *** Rebuild the kernel with CONFIG_ZLIB_INFLATE=y|m set." >&2;}
+   { (exit 1); exit 1; }; }
 
 
 
 
 
 
@@ -18516,8 +16988,8 @@ fi
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether on_each_cpu() wants 3 args" >&5
-$as_echo_n "checking whether on_each_cpu() wants 3 args... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether CONFIG_ZLIB_DEFLATE is defined" >&5
+$as_echo_n "checking whether CONFIG_ZLIB_DEFLATE is defined... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -18528,14 +17000,15 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/smp.h>
+               #if !defined(CONFIG_ZLIB_DEFLATE) && \
+                   !defined(CONFIG_ZLIB_DEFLATE_MODULE)
+               #error CONFIG_ZLIB_DEFLATE not defined
+               #endif
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               on_each_cpu(NULL, NULL, 0);
-
   ;
   return 0;
 }
   ;
   return 0;
 }
@@ -18543,9 +17016,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -18560,293 +17035,97 @@ _ACEOF
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_3ARGS_ON_EACH_CPU 1
-_ACEOF
-
-
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
+               { { $as_echo "$as_me:$LINENO: error:
+       *** This kernel does not include the required zlib deflate support.
+       *** Rebuild the kernel with CONFIG_ZLIB_DEFLATE=y|m set." >&5
+$as_echo "$as_me: error:
+       *** This kernel does not include the required zlib deflate support.
+       *** Rebuild the kernel with CONFIG_ZLIB_DEFLATE=y|m set." >&2;}
+   { (exit 1); exit 1; }; }
 
 
 
 
 
 
-fi
-
-       rm -Rf build
-
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether symbol kallsyms_lookup_name is exported" >&5
-$as_echo_n "checking whether symbol kallsyms_lookup_name is exported... " >&6; }
-       grep -q -E '[[:space:]]kallsyms_lookup_name[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(kallsyms_lookup_name)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_KALLSYMS_LOOKUP_NAME 1
-_ACEOF
-
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_KALLSYMS_LOOKUP_NAME 1
-_ACEOF
-
-       fi
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether symbol get_vmalloc_info is exported" >&5
-$as_echo_n "checking whether symbol get_vmalloc_info is exported... " >&6; }
-       grep -q -E '[[:space:]]get_vmalloc_info[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(get_vmalloc_info)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GET_VMALLOC_INFO 1
-_ACEOF
-
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GET_VMALLOC_INFO 1
-_ACEOF
-
-       fi
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether symbol *_pgdat exist" >&5
-$as_echo_n "checking whether symbol *_pgdat exist... " >&6; }
-       grep -q -E 'first_online_pgdat' $LINUX/include/linux/mmzone.h 2>/dev/null
-       rc=$?
-       if test $rc -eq 0; then
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_PGDAT_HELPERS 1
-_ACEOF
-
-       else
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-       fi
-
-
-       { $as_echo "$as_me:$LINENO: checking whether symbol first_online_pgdat is exported" >&5
-$as_echo_n "checking whether symbol first_online_pgdat is exported... " >&6; }
-       grep -q -E '[[:space:]]first_online_pgdat[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(first_online_pgdat)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_FIRST_ONLINE_PGDAT 1
-_ACEOF
-
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_FIRST_ONLINE_PGDAT 1
-_ACEOF
-
-       fi
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether symbol next_online_pgdat is exported" >&5
-$as_echo_n "checking whether symbol next_online_pgdat is exported... " >&6; }
-       grep -q -E '[[:space:]]next_online_pgdat[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(next_online_pgdat)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_NEXT_ONLINE_PGDAT 1
-_ACEOF
-
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+fi
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_NEXT_ONLINE_PGDAT 1
+       rm -Rf build
+
+
+
+       { $as_echo "$as_me:$LINENO: checking whether zlib_deflate_workspacesize() wants 2 args" >&5
+$as_echo_n "checking whether zlib_deflate_workspacesize() wants 2 args... " >&6; }
+
+
+cat confdefs.h - <<_ACEOF >conftest.c
+/* confdefs.h.  */
 _ACEOF
 _ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
 
-       fi
 
 
+               #include <linux/zlib.h>
 
 
+int
+main (void)
+{
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol next_zone is exported" >&5
-$as_echo_n "checking whether symbol next_zone is exported... " >&6; }
-       grep -q -E '[[:space:]]next_zone[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(next_zone)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+               return zlib_deflate_workspacesize(MAX_WBITS, MAX_MEM_LEVEL);
 
 
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+  ;
+  return 0;
+}
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_NEXT_ZONE 1
 _ACEOF
 
 _ACEOF
 
-               fi
-       else
+
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
+       echo "obj-m := conftest.o" >build/Makefile
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_NEXT_ZONE 1
+#define HAVE_2ARGS_ZLIB_DEFLATE_WORKSPACESIZE 1
 _ACEOF
 
 _ACEOF
 
-       fi
-
 
 
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol pgdat_list is exported" >&5
-$as_echo_n "checking whether symbol pgdat_list is exported... " >&6; }
-       grep -q -E '[[:space:]]pgdat_list[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(pgdat_list)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
+               { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
 $as_echo "no" >&6; }
 
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_PGDAT_LIST 1
-_ACEOF
 
 
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+fi
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_PGDAT_LIST 1
-_ACEOF
+       rm -Rf build
 
 
-       fi
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether global_page_state() is available" >&5
-$as_echo_n "checking whether global_page_state() is available... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether struct shrink_control exists" >&5
+$as_echo_n "checking whether struct shrink_control exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -18863,8 +17142,10 @@ int
 main (void)
 {
 
 main (void)
 {
 
-               unsigned long state __attribute__ ((unused));
-               state = global_page_state(0);
+               struct shrink_control sc __attribute__ ((unused));
+
+               sc.nr_to_scan = 0;
+               sc.gfp_mask = GFP_KERNEL;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -18873,9 +17154,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -18891,7 +17174,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_GLOBAL_PAGE_STATE 1
+#define HAVE_SHRINK_CONTROL_STRUCT 1
 _ACEOF
 
 
 _ACEOF
 
 
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether page state NR_FREE_PAGES is available" >&5
-$as_echo_n "checking whether page state NR_FREE_PAGES is available... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether struct rw_semaphore member wait_lock is raw" >&5
+$as_echo_n "checking whether struct rw_semaphore member wait_lock is raw... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -18923,14 +17208,16 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/mm.h>
+               #include <linux/rwsem.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               enum zone_stat_item zsi __attribute__ ((unused));
-               zsi = NR_FREE_PAGES;
+               struct rw_semaphore dummy_semaphore __attribute__ ((unused));
+               raw_spinlock_t dummy_lock __attribute__ ((unused)) =
+                   __RAW_SPIN_LOCK_INITIALIZER(dummy_lock);
+               dummy_semaphore.wait_lock = dummy_lock;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -18939,9 +17226,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -18957,7 +17246,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_ZONE_STAT_ITEM_NR_FREE_PAGES 1
+#define RWSEM_SPINLOCK_IS_RAW 1
 _ACEOF
 
 
 _ACEOF
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether page state NR_INACTIVE is available" >&5
-$as_echo_n "checking whether page state NR_INACTIVE is available... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether struct rw_semaphore has member activity" >&5
+$as_echo_n "checking whether struct rw_semaphore has member activity... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -18989,14 +17281,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/mm.h>
+               #include <linux/rwsem.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               enum zone_stat_item zsi __attribute__ ((unused));
-               zsi = NR_INACTIVE;
+               struct rw_semaphore dummy_semaphore __attribute__ ((unused));
+               dummy_semaphore.activity = 0;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -19005,9 +17297,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19023,7 +17317,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_ZONE_STAT_ITEM_NR_INACTIVE 1
+#define HAVE_RWSEM_ACTIVITY 1
 _ACEOF
 
 
 _ACEOF
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
+
 
 
-       { $as_echo "$as_me:$LINENO: checking whether page state NR_INACTIVE_ANON is available" >&5
-$as_echo_n "checking whether page state NR_INACTIVE_ANON is available... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether struct rw_semaphore has atomic_long_t member count" >&5
+$as_echo_n "checking whether struct rw_semaphore has atomic_long_t member count... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -19054,14 +17352,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/mm.h>
+               #include <linux/rwsem.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               enum zone_stat_item zsi __attribute__ ((unused));
-               zsi = NR_INACTIVE_ANON;
+               DECLARE_RWSEM(dummy_semaphore);
+               (void) atomic_long_read(&dummy_semaphore.count);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -19070,9 +17368,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19088,7 +17388,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_ZONE_STAT_ITEM_NR_INACTIVE_ANON 1
+#define HAVE_RWSEM_ATOMIC_LONG_COUNT 1
 _ACEOF
 
 
 _ACEOF
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
-       { $as_echo "$as_me:$LINENO: checking whether page state NR_INACTIVE_FILE is available" >&5
-$as_echo_n "checking whether page state NR_INACTIVE_FILE is available... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether header linux/sched/rt.h exists" >&5
+$as_echo_n "checking whether header linux/sched/rt.h exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -19119,14 +17420,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/mm.h>
+               #include <linux/sched.h>
+               #include <linux/sched/rt.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               enum zone_stat_item zsi __attribute__ ((unused));
-               zsi = NR_INACTIVE_FILE;
+               return 0;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -19135,9 +17436,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19149,13 +17452,13 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_ZONE_STAT_ITEM_NR_INACTIVE_FILE 1
+#define HAVE_SCHED_RT_HEADER 1
 _ACEOF
 
 _ACEOF
 
+               { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 
 else
   $as_echo "$as_me: failed program was:" >&5
 
 else
   $as_echo "$as_me: failed program was:" >&5
@@ -19172,9 +17475,8 @@ fi
 
 
 
 
 
 
-
-       { $as_echo "$as_me:$LINENO: checking whether page state NR_ACTIVE is available" >&5
-$as_echo_n "checking whether page state NR_ACTIVE is available... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether header linux/sched/signal.h exists" >&5
+$as_echo_n "checking whether header linux/sched/signal.h exists... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -19185,14 +17487,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/mm.h>
+               #include <linux/sched.h>
+               #include <linux/sched/signal.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               enum zone_stat_item zsi __attribute__ ((unused));
-               zsi = NR_ACTIVE;
+               return 0;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -19201,9 +17503,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19215,13 +17519,13 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_ZONE_STAT_ITEM_NR_ACTIVE 1
+#define HAVE_SCHED_SIGNAL_HEADER 1
 _ACEOF
 
 _ACEOF
 
+               { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 
 else
   $as_echo "$as_me: failed program was:" >&5
 
 else
   $as_echo "$as_me: failed program was:" >&5
@@ -19238,8 +17542,9 @@ fi
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether page state NR_ACTIVE_ANON is available" >&5
-$as_echo_n "checking whether page state NR_ACTIVE_ANON is available... " >&6; }
+
+       { $as_echo "$as_me:$LINENO: checking whether vfs_getattr() wants 4 args" >&5
+$as_echo_n "checking whether vfs_getattr() wants 4 args... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -19250,14 +17555,16 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/mm.h>
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               enum zone_stat_item zsi __attribute__ ((unused));
-               zsi = NR_ACTIVE_ANON;
+               vfs_getattr((const struct path *)NULL,
+                       (struct kstat *)NULL,
+                       (u32)0,
+                       (unsigned int)0);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -19266,9 +17573,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19284,7 +17593,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_ZONE_STAT_ITEM_NR_ACTIVE_ANON 1
+#define HAVE_4ARGS_VFS_GETATTR 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -19303,8 +17612,9 @@ fi
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether page state NR_ACTIVE_FILE is available" >&5
-$as_echo_n "checking whether page state NR_ACTIVE_FILE is available... " >&6; }
+
+       { $as_echo "$as_me:$LINENO: checking whether vfs_getattr() wants 3 args" >&5
+$as_echo_n "checking whether vfs_getattr() wants 3 args... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -19315,14 +17625,15 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/mm.h>
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               enum zone_stat_item zsi __attribute__ ((unused));
-               zsi = NR_ACTIVE_FILE;
+               vfs_getattr((struct vfsmount *)NULL,
+                       (struct dentry *)NULL,
+                       (struct kstat *)NULL);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -19331,9 +17642,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19349,7 +17662,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_ZONE_STAT_ITEM_NR_ACTIVE_FILE 1
+#define HAVE_3ARGS_VFS_GETATTR 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -19369,8 +17682,8 @@ fi
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol get_zone_counts is needed" >&5
-$as_echo_n "checking whether symbol get_zone_counts is needed... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether vfs_getattr() wants 2 args" >&5
+$as_echo_n "checking whether vfs_getattr() wants 2 args... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -19381,26 +17694,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               #if !defined(HAVE_ZONE_STAT_ITEM_NR_FREE_PAGES)
-               #error "global_page_state needs NR_FREE_PAGES"
-               #endif
-
-               #if !defined(HAVE_ZONE_STAT_ITEM_NR_ACTIVE) && \
-                   !defined(HAVE_ZONE_STAT_ITEM_NR_ACTIVE_ANON) && \
-                   !defined(HAVE_ZONE_STAT_ITEM_NR_ACTIVE_FILE)
-               #error "global_page_state needs NR_ACTIVE*"
-               #endif
-
-               #if !defined(HAVE_ZONE_STAT_ITEM_NR_INACTIVE) && \
-                   !defined(HAVE_ZONE_STAT_ITEM_NR_INACTIVE_ANON) && \
-                   !defined(HAVE_ZONE_STAT_ITEM_NR_INACTIVE_FILE)
-               #error "global_page_state needs NR_INACTIVE*"
-               #endif
+               vfs_getattr((struct path *) NULL,
+                       (struct kstat *)NULL);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -19409,9 +17710,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19423,153 +17726,99 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define NEED_GET_ZONE_COUNTS 1
+#define HAVE_2ARGS_VFS_GETATTR 1
 _ACEOF
 
 
 _ACEOF
 
 
-               { $as_echo "$as_me:$LINENO: checking whether symbol get_zone_counts is exported" >&5
-$as_echo_n "checking whether symbol get_zone_counts is exported... " >&6; }
-       grep -q -E '[[:space:]]get_zone_counts[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(get_zone_counts)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+               { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
 $as_echo "no" >&6; }
 
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GET_ZONE_COUNTS 1
-_ACEOF
 
 
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+fi
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GET_ZONE_COUNTS 1
-_ACEOF
+       rm -Rf build
 
 
-       fi
 
 
 
 
 
 
+       { $as_echo "$as_me:$LINENO: checking whether usleep_range() is available" >&5
+$as_echo_n "checking whether usleep_range() is available... " >&6; }
 
 
-fi
 
 
-       rm -Rf build
+cat confdefs.h - <<_ACEOF >conftest.c
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
 
 
 
+               #include <linux/delay.h>
 
 
+int
+main (void)
+{
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol user_path_at is exported" >&5
-$as_echo_n "checking whether symbol user_path_at is exported... " >&6; }
-       grep -q -E '[[:space:]]user_path_at[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(user_path_at)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+               usleep_range(0, 0);
 
 
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+  ;
+  return 0;
+}
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_USER_PATH_DIR 1
 _ACEOF
 
 _ACEOF
 
-               fi
-       else
+
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
+       echo "obj-m := conftest.o" >build/Makefile
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_USER_PATH_DIR 1
+#define HAVE_USLEEP_RANGE 1
 _ACEOF
 
 _ACEOF
 
-       fi
-
 
 
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol set_fs_pwd is exported" >&5
-$as_echo_n "checking whether symbol set_fs_pwd is exported... " >&6; }
-       grep -q -E '[[:space:]]set_fs_pwd[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(set_fs_pwd)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
+               { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
 $as_echo "no" >&6; }
 
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SET_FS_PWD 1
-_ACEOF
 
 
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+fi
+
+       rm -Rf build
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SET_FS_PWD 1
-_ACEOF
 
 
-       fi
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether set_fs_pwd() wants 2 args" >&5
-$as_echo_n "checking whether set_fs_pwd() wants 2 args... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether struct kmem_cache has allocflags" >&5
+$as_echo_n "checking whether struct kmem_cache has allocflags... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -19580,14 +17829,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/sched.h>
-               #include <linux/fs_struct.h>
+               #include <linux/slab.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               set_fs_pwd(NULL, NULL);
+               struct kmem_cache cachep __attribute__ ((unused));
+               cachep.allocflags = GFP_KERNEL;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -19596,9 +17845,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19614,7 +17865,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_2ARGS_SET_FS_PWD 1
+#define HAVE_KMEM_CACHE_ALLOCFLAGS 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -19625,16 +17876,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
-
-
-fi
-
-       rm -Rf build
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether vfs_unlink() wants 2 args" >&5
-$as_echo_n "checking whether vfs_unlink() wants 2 args... " >&6; }
+               { $as_echo "$as_me:$LINENO: checking whether struct kmem_cache has gfpflags" >&5
+$as_echo_n "checking whether struct kmem_cache has gfpflags... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -19645,13 +17888,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/fs.h>
+                       #include <linux/slab.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               vfs_unlink(NULL, NULL);
+                       struct kmem_cache cachep __attribute__ ((unused));
+                       cachep.gfpflags = GFP_KERNEL;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -19660,9 +17904,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19674,11 +17920,11 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
+                       { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_2ARGS_VFS_UNLINK 1
+#define HAVE_KMEM_CACHE_GFPFLAGS 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -19686,7 +17932,7 @@ else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-               { $as_echo "$as_me:$LINENO: result: no" >&5
+                       { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
 
 $as_echo "no" >&6; }
 
 
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether vfs_rename() wants 4 args" >&5
-$as_echo_n "checking whether vfs_rename() wants 4 args... " >&6; }
+
+
+fi
+
+       rm -Rf build
+
+
+
+
+       { $as_echo "$as_me:$LINENO: checking whether inode->i_*time's are timespec64" >&5
+$as_echo_n "checking whether inode->i_*time's are timespec64... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -19715,7 +17972,11 @@ int
 main (void)
 {
 
 main (void)
 {
 
-               vfs_rename(NULL, NULL, NULL, NULL);
+               struct inode ip;
+               struct timespec ts;
+
+               memset(&ip, 0, sizeof(ip));
+               ts = ip.i_mtime;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -19724,9 +17985,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19738,21 +18001,21 @@ _ACEOF
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
+               { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_4ARGS_VFS_RENAME 1
+#define HAVE_INODE_TIMESPEC64_TIMES 1
 _ACEOF
 
 
 _ACEOF
 
 
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-               { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
 
 
 fi
 
 
 fi
        rm -Rf build
 
 
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol vfs_fsync is exported" >&5
-$as_echo_n "checking whether symbol vfs_fsync is exported... " >&6; }
-       grep -q -E '[[:space:]]vfs_fsync[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in fs/sync.c; do
-                       grep -q -E "EXPORT_SYMBOL.*(vfs_fsync)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_VFS_FSYNC 1
-_ACEOF
-
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_VFS_FSYNC 1
-_ACEOF
-
-       fi
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether vfs_fsync() wants 2 args" >&5
-$as_echo_n "checking whether vfs_fsync() wants 2 args... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether wait_on_bit() takes an action" >&5
+$as_echo_n "checking whether wait_on_bit() takes an action... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -19815,13 +18038,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/fs.h>
+               #include <linux/wait.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               vfs_fsync(NULL, 0);
+               int (*action)(void *) = NULL;
+               wait_on_bit(NULL, 0, action, 0);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -19830,9 +18054,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19848,7 +18074,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_2ARGS_VFS_FSYNC 1
+#define HAVE_WAIT_ON_BIT_ACTION 1
 _ACEOF
 
 
 _ACEOF
 
 
@@ -19868,8 +18094,8 @@ fi
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether struct fs_struct uses spinlock_t" >&5
-$as_echo_n "checking whether struct fs_struct uses spinlock_t... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether inode_lock_shared() exists" >&5
+$as_echo_n "checking whether inode_lock_shared() exists... " >&6; }
        tmp_flags="$EXTRA_KCFLAGS"
        EXTRA_KCFLAGS="-Werror"
 
        tmp_flags="$EXTRA_KCFLAGS"
        EXTRA_KCFLAGS="-Werror"
 
@@ -19882,15 +18108,14 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/sched.h>
-               #include <linux/fs_struct.h>
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct fs_struct fs;
-               spin_lock_init(&fs.lock);
+               struct inode *inode = NULL;
+               inode_lock_shared(inode);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -19899,9 +18124,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19917,7 +18144,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_FS_STRUCT_SPINLOCK 1
+#define HAVE_INODE_LOCK_SHARED 1
 _ACEOF
 
 
 _ACEOF
 
 
        EXTRA_KCFLAGS="$tmp_flags"
 
 
        EXTRA_KCFLAGS="$tmp_flags"
 
 
-       { $as_echo "$as_me:$LINENO: checking whether struct cred exists" >&5
-$as_echo_n "checking whether struct cred exists... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether group_info->gid exists" >&5
+$as_echo_n "checking whether group_info->gid exists... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -19956,8 +18185,8 @@ int
 main (void)
 {
 
 main (void)
 {
 
-               struct cred *cr __attribute__ ((unused));
-               cr  = NULL;
+               struct group_info *gi = groups_alloc(1);
+               gi->gid[0] = KGIDT_INIT(0);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -19966,9 +18195,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -19984,7 +18215,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_CRED_STRUCT 1
+#define HAVE_GROUP_INFO_GID 1
 _ACEOF
 
 
 _ACEOF
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol groups_search is exported" >&5
-$as_echo_n "checking whether symbol groups_search is exported... " >&6; }
-       grep -q -E '[[:space:]]groups_search[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(groups_search)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GROUPS_SEARCH 1
-_ACEOF
-
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_GROUPS_SEARCH 1
-_ACEOF
-
-       fi
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether symbol __put_task_struct is exported" >&5
-$as_echo_n "checking whether symbol __put_task_struct is exported... " >&6; }
-       grep -q -E '[[:space:]]__put_task_struct[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(__put_task_struct)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_PUT_TASK_STRUCT 1
-_ACEOF
-
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_PUT_TASK_STRUCT 1
-_ACEOF
-
-       fi
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether proc_handler() wants 5 args" >&5
-$as_echo_n "checking whether proc_handler() wants 5 args... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether kmem_cache_create_usercopy() exists" >&5
+$as_echo_n "checking whether kmem_cache_create_usercopy() exists... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -20098,13 +18250,26 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/sysctl.h>
+               #include <linux/slab.h>
+               static void ctor(void *foo)
+               {
+                       // fake ctor
+               }
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               proc_dostring(NULL, 0, NULL, NULL, NULL);
+               struct kmem_cache *skc_linux_cache;
+               const char *name = "test";
+               size_t size = 4096;
+               size_t align = 8;
+               unsigned long flags = 0;
+               size_t useroffset = 0;
+               size_t usersize = size - useroffset;
+
+               skc_linux_cache = kmem_cache_create_usercopy(
+                       name, size, align, flags, useroffset, usersize, ctor);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -20113,9 +18278,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -20131,7 +18298,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_5ARGS_PROC_HANDLER 1
+#define HAVE_KMEM_CACHE_CREATE_USERCOPY 1
 _ACEOF
 
 
 _ACEOF
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol kvasprintf is exported" >&5
-$as_echo_n "checking whether symbol kvasprintf is exported... " >&6; }
-       grep -q -E '[[:space:]]kvasprintf[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(kvasprintf)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_KVASPRINTF 1
-_ACEOF
-
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_KVASPRINTF 1
-_ACEOF
-
-       fi
-
-
-
-       { $as_echo "$as_me:$LINENO: checking whether symbol rwsem_is_locked is exported" >&5
-$as_echo_n "checking whether symbol rwsem_is_locked is exported... " >&6; }
-       grep -q -E '[[:space:]]rwsem_is_locked[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in lib/rwsem-spinlock.c; do
-                       grep -q -E "EXPORT_SYMBOL.*(rwsem_is_locked)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define RWSEM_IS_LOCKED_TAKES_WAIT_LOCK 1
-_ACEOF
+       { $as_echo "$as_me:$LINENO: checking whether wait_queue_entry_t exists" >&5
+$as_echo_n "checking whether wait_queue_entry_t exists... " >&6; }
 
 
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
 
-cat >>confdefs.h <<\_ACEOF
-#define RWSEM_IS_LOCKED_TAKES_WAIT_LOCK 1
+cat confdefs.h - <<_ACEOF >conftest.c
+/* confdefs.h.  */
 _ACEOF
 _ACEOF
-
-       fi
-
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol invalidate_inodes is exported" >&5
-$as_echo_n "checking whether symbol invalidate_inodes is exported... " >&6; }
-       grep -q -E '[[:space:]]invalidate_inodes[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(invalidate_inodes)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+               #include <linux/wait.h>
 
 
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+int
+main (void)
+{
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_INVALIDATE_INODES 1
-_ACEOF
+               wait_queue_entry_t *entry __attribute__ ((unused));
 
 
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+  ;
+  return 0;
+}
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_INVALIDATE_INODES 1
 _ACEOF
 
 _ACEOF
 
-       fi
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol invalidate_inodes_check is exported" >&5
-$as_echo_n "checking whether symbol invalidate_inodes_check is exported... " >&6; }
-       grep -q -E '[[:space:]]invalidate_inodes_check[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in ; do
-                       grep -q -E "EXPORT_SYMBOL.*(invalidate_inodes_check)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
+       echo "obj-m := conftest.o" >build/Makefile
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
 
 
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
+               { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_INVALIDATE_INODES_CHECK 1
+#define HAVE_WAIT_QUEUE_ENTRY_T 1
 _ACEOF
 
 _ACEOF
 
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_INVALIDATE_INODES_CHECK 1
-_ACEOF
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+               { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+
+
+
+fi
+
+       rm -Rf build
 
 
-       fi
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether invalidate_inodes() wants 2 args" >&5
-$as_echo_n "checking whether invalidate_inodes() wants 2 args... " >&6; }
+
+       { $as_echo "$as_me:$LINENO: checking whether wq_head->head and wq_entry->entry exist" >&5
+$as_echo_n "checking whether wq_head->head and wq_entry->entry exist... " >&6; }
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -20324,13 +18398,27 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/fs.h>
+               #include <linux/wait.h>
+
+               #ifdef HAVE_WAIT_QUEUE_ENTRY_T
+               typedef wait_queue_head_t       spl_wait_queue_head_t;
+               typedef wait_queue_entry_t      spl_wait_queue_entry_t;
+               #else
+               typedef wait_queue_head_t       spl_wait_queue_head_t;
+               typedef wait_queue_t            spl_wait_queue_entry_t;
+               #endif
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               return __invalidate_device(NULL, 0);
+               spl_wait_queue_head_t wq_head;
+               spl_wait_queue_entry_t wq_entry;
+               struct list_head *head __attribute__ ((unused));
+               struct list_head *entry __attribute__ ((unused));
+
+               head = &wq_head.head;
+               entry = &wq_entry.entry;
 
   ;
   return 0;
 
   ;
   return 0;
@@ -20339,9 +18427,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -20357,7 +18447,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_2ARGS_INVALIDATE_INODES 1
+#define HAVE_WAIT_QUEUE_HEAD_ENTRY 1
 _ACEOF
 
 
 _ACEOF
 
 
 
 
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol shrink_dcache_memory is exported" >&5
-$as_echo_n "checking whether symbol shrink_dcache_memory is exported... " >&6; }
-       grep -q -E '[[:space:]]shrink_dcache_memory[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in fs/dcache.c; do
-                       grep -q -E "EXPORT_SYMBOL.*(shrink_dcache_memory)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether io_schedule_timeout() is available" >&5
+$as_echo_n "checking whether io_schedule_timeout() is available... " >&6; }
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SHRINK_DCACHE_MEMORY 1
-_ACEOF
 
 
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SHRINK_DCACHE_MEMORY 1
+cat confdefs.h - <<_ACEOF >conftest.c
+/* confdefs.h.  */
 _ACEOF
 _ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
 
 
-       fi
 
 
+               #include <linux/sched.h>
 
 
+int
+main (void)
+{
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol shrink_icache_memory is exported" >&5
-$as_echo_n "checking whether symbol shrink_icache_memory is exported... " >&6; }
-       grep -q -E '[[:space:]]shrink_icache_memory[[:space:]]' \
-               $LINUX_OBJ/Module*.symvers 2>/dev/null
-       rc=$?
-       if test $rc -ne 0; then
-               export=0
-               for file in fs/inode.c; do
-                       grep -q -E "EXPORT_SYMBOL.*(shrink_icache_memory)" \
-                               "$LINUX_OBJ/$file" 2>/dev/null
-                       rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
-               done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+               (void) io_schedule_timeout(1);
 
 
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+  ;
+  return 0;
+}
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SHRINK_ICACHE_MEMORY 1
 _ACEOF
 
 _ACEOF
 
-               fi
-       else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SHRINK_ICACHE_MEMORY 1
-_ACEOF
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
+       echo "obj-m := conftest.o" >build/Makefile
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } >/dev/null && { ac_try='test -s build/conftest.o'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  rc=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+ rc=1
 
 
-       fi
 
 
+fi
+
+       rm -Rf build
 
 
 
 
+       if test $rc -ne 0; then :
 
 
-       { $as_echo "$as_me:$LINENO: checking whether symbol kern_path_parent exists in header" >&5
-$as_echo_n "checking whether symbol kern_path_parent exists in header... " >&6; }
-       header=0
-       for file in include/linux/namei.h; do
-               grep -q "int kern_path_parent(const char \*, struct nameidata \*)" "$LINUX/$file" 2>/dev/null
-               rc=$?
-               if test $rc -eq 0; then
-                       header=1
-                       break;
-               fi
-       done
-       if test $header -eq 0; then
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
        else
                { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
 
        else
-               { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_KERN_PATH_PARENT_HEADER 1
-_ACEOF
-
-       fi
-
+               if test "x$enable_linux_builtin" != xyes; then
 
 
-
-       { $as_echo "$as_me:$LINENO: checking whether symbol kern_path_parent is exported" >&5
-$as_echo_n "checking whether symbol kern_path_parent is exported... " >&6; }
-       grep -q -E '[[:space:]]kern_path_parent[[:space:]]' \
+       grep -q -E '[[:space:]]io_schedule_timeout[[:space:]]' \
                $LINUX_OBJ/Module*.symvers 2>/dev/null
        rc=$?
        if test $rc -ne 0; then
                export=0
                $LINUX_OBJ/Module*.symvers 2>/dev/null
        rc=$?
        if test $rc -ne 0; then
                export=0
-               for file in fs/namei.c; do
-                       grep -q -E "EXPORT_SYMBOL.*(kern_path_parent)" \
+               for file in ; do
+                       grep -q -E "EXPORT_SYMBOL.*(io_schedule_timeout)" \
                                "$LINUX_OBJ/$file" 2>/dev/null
                        rc=$?
                                "$LINUX_OBJ/$file" 2>/dev/null
                        rc=$?
-                       if test $rc -eq 0; then
-                               export=1
-                               break;
-                       fi
+                       if test $rc -eq 0; then
+                               export=1
+                               break;
+                       fi
                done
                done
-               if test $export -eq 0; then
-                       { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+               if test $export -eq 0; then :
+                       rc=1
+               else :
+                       rc=0
+               fi
+       else :
+               rc=0
+       fi
 
 
-               else
-                       { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+               fi
+               if test $rc -ne 0; then :
 
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_KERN_PATH_PARENT_SYMBOL 1
-_ACEOF
+               { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+
+               else :
 
 
-               fi
-       else
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
                { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_KERN_PATH_PARENT_SYMBOL 1
+#define HAVE_IO_SCHEDULE_TIMEOUT 1
 _ACEOF
 
 _ACEOF
 
+
+               fi
        fi
 
 
        fi
 
 
-       { $as_echo "$as_me:$LINENO: checking whether zlib_deflate_workspacesize() wants 2 args" >&5
-$as_echo_n "checking whether zlib_deflate_workspacesize() wants 2 args... " >&6; }
+
+       { $as_echo "$as_me:$LINENO: checking whether kernel_write() takes loff_t pointer" >&5
+$as_echo_n "checking whether kernel_write() takes loff_t pointer... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -20539,13 +18588,19 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/zlib.h>
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               return zlib_deflate_workspacesize(MAX_WBITS, MAX_MEM_LEVEL);
+               struct file *file = NULL;
+               const void *buf = NULL;
+               size_t count = 0;
+               loff_t *pos = NULL;
+               ssize_t ret;
+
+               ret = kernel_write(file, buf, count, pos);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -20554,9 +18609,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -20572,7 +18629,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_2ARGS_ZLIB_DEFLATE_WORKSPACESIZE 1
+#define HAVE_KERNEL_WRITE_PPOS 1
 _ACEOF
 
 
 _ACEOF
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether struct shrink_control exists" >&5
-$as_echo_n "checking whether struct shrink_control exists... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether kernel_read() takes loff_t pointer" >&5
+$as_echo_n "checking whether kernel_read() takes loff_t pointer... " >&6; }
+       tmp_flags="$EXTRA_KCFLAGS"
+       EXTRA_KCFLAGS="-Werror"
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
 
 
 cat confdefs.h - <<_ACEOF >conftest.c
@@ -20604,16 +18664,19 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/mm.h>
+               #include <linux/fs.h>
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct shrink_control sc __attribute__ ((unused));
+               struct file *file = NULL;
+               void *buf = NULL;
+               size_t count = 0;
+               loff_t *pos = NULL;
+               ssize_t ret;
 
 
-               sc.nr_to_scan = 0;
-               sc.gfp_mask = GFP_KERNEL;
+               ret = kernel_read(file, buf, count, pos);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -20622,9 +18685,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -20640,7 +18705,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define HAVE_SHRINK_CONTROL_STRUCT 1
+#define HAVE_KERNEL_READ_PPOS 1
 _ACEOF
 
 
 _ACEOF
 
 
        rm -Rf build
 
 
        rm -Rf build
 
 
+       EXTRA_KCFLAGS="$tmp_flags"
 
 
 
 
-       { $as_echo "$as_me:$LINENO: checking whether struct rw_semaphore member wait_lock is raw" >&5
-$as_echo_n "checking whether struct rw_semaphore member wait_lock is raw... " >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether timer_list.function gets a timer_list" >&5
+$as_echo_n "checking whether timer_list.function gets a timer_list... " >&6; }
        tmp_flags="$EXTRA_KCFLAGS"
        EXTRA_KCFLAGS="-Werror"
 
        tmp_flags="$EXTRA_KCFLAGS"
        EXTRA_KCFLAGS="-Werror"
 
@@ -20674,15 +18740,20 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 
 /* end confdefs.h.  */
 
 
-               #include <linux/rwsem.h>
+               #include <linux/timer.h>
+               void task_expire(struct timer_list *tl) {}
 
 int
 main (void)
 {
 
 
 int
 main (void)
 {
 
-               struct rw_semaphore dummy_semaphore __attribute__ ((unused));
-               raw_spinlock_t dummy_lock __attribute__ ((unused));
-               dummy_semaphore.wait_lock = dummy_lock;
+               #ifndef from_timer
+               #error "No from_timer() macro"
+               #endif
+
+               struct timer_list timer;
+               timer.function = task_expire;
+               timer_setup(&timer, NULL, 0);
 
   ;
   return 0;
 
   ;
   return 0;
@@ -20691,9 +18762,11 @@ main (void)
 _ACEOF
 
 
 _ACEOF
 
 
-       rm -Rf build && mkdir -p build
+       rm -Rf build && mkdir -p build && touch build/conftest.mod.c
        echo "obj-m := conftest.o" >build/Makefile
        echo "obj-m := conftest.o" >build/Makefile
-       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build'
+       modpost_flag=''
+       test "x$enable_linux_builtin" = xyes && modpost_flag='modpost=true' # fake modpost stage
+       if { ac_try='cp conftest.c build && make modules -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM M=$PWD/build $modpost_flag'
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
   (eval $ac_try) 2>&5
   ac_status=$?
@@ -20709,7 +18782,7 @@ _ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
 $as_echo "yes" >&6; }
 
 cat >>confdefs.h <<\_ACEOF
-#define RWSEM_SPINLOCK_IS_RAW 1
+#define HAVE_KERNEL_TIMER_FUNCTION_TIMER_LIST 1
 _ACEOF
 
 
 _ACEOF
 
 
        EXTRA_KCFLAGS="$tmp_flags"
 
 
        EXTRA_KCFLAGS="$tmp_flags"
 
 
-                           ;;
+                          ;;
                srpm)                        ;;
                srpm)                        ;;
-                *)
-                { $as_echo "$as_me:$LINENO: result: Error!" >&5
+               *)
+               { $as_echo "$as_me:$LINENO: result: Error!" >&5
 $as_echo "Error!" >&6; }
 $as_echo "Error!" >&6; }
-                { { $as_echo "$as_me:$LINENO: error: Bad value \"$SPL_CONFIG\" for --with-config,
-                              user kernel|user|all|srpm" >&5
+               { { $as_echo "$as_me:$LINENO: error: Bad value \"$SPL_CONFIG\" for --with-config,
+                            user kernel|user|all|srpm" >&5
 $as_echo "$as_me: error: Bad value \"$SPL_CONFIG\" for --with-config,
 $as_echo "$as_me: error: Bad value \"$SPL_CONFIG\" for --with-config,
-                              user kernel|user|all|srpm" >&2;}
+                            user kernel|user|all|srpm" >&2;}
    { (exit 1); exit 1; }; } ;;
    { (exit 1); exit 1; }; } ;;
-        esac
+       esac
 
 
-         if test "$SPL_CONFIG" = user ||
-                       test "$SPL_CONFIG" = all; then
+        if test "$SPL_CONFIG" = user -o "$SPL_CONFIG" = all; then
   CONFIG_USER_TRUE=
   CONFIG_USER_FALSE='#'
 else
   CONFIG_USER_TRUE=
   CONFIG_USER_FALSE='#'
 else
@@ -20751,8 +18823,8 @@ else
   CONFIG_USER_FALSE=
 fi
 
   CONFIG_USER_FALSE=
 fi
 
-         if test "$SPL_CONFIG" = kernel ||
-                       test "$SPL_CONFIG" = all; then
+        if test "$SPL_CONFIG" = kernel -o "$SPL_CONFIG" = all &&
+                      test "x$enable_linux_builtin" != xyes ; then
   CONFIG_KERNEL_TRUE=
   CONFIG_KERNEL_FALSE='#'
 else
   CONFIG_KERNEL_TRUE=
   CONFIG_KERNEL_FALSE='#'
 else
 
 
 
 
 
 
-ac_config_files="$ac_config_files Makefile lib/Makefile cmd/Makefile module/Makefile module/spl/Makefile module/splat/Makefile include/Makefile scripts/Makefile spl.spec spl-modules.spec PKGBUILD-spl PKGBUILD-spl-modules"
+       { $as_echo "$as_me:$LINENO: checking whether debugging is enabled" >&5
+$as_echo_n "checking whether debugging is enabled... " >&6; }
+       # Check whether --enable-debug was given.
+if test "${enable_debug+set}" = set; then
+  enableval=$enable_debug;
+else
+  enable_debug=no
+fi
+
+
+       if test "x$enable_debug" = xyes; then
+
+               KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG -Werror"
+               DEBUG_CFLAGS="-DDEBUG -Werror"
+               DEBUG_SPL="_with_debug"
+
+else
+
+               KERNELCPPFLAGS="${KERNELCPPFLAGS} -DNDEBUG"
+               DEBUG_CFLAGS="-DNDEBUG"
+               DEBUG_SPL="_without_debug"
+
+fi
+
+
+
+
+       { $as_echo "$as_me:$LINENO: result: $enable_debug" >&5
+$as_echo "$enable_debug" >&6; }
+
+
+       # Check whether --enable-debug-kmem was given.
+if test "${enable_debug_kmem+set}" = set; then
+  enableval=$enable_debug_kmem;
+else
+  enable_debug_kmem=no
+fi
+
+
+       if test "x$enable_debug_kmem" = xyes; then
+
+               KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG_KMEM"
+               DEBUG_KMEM="_with_debug_kmem"
+
+cat >>confdefs.h <<\_ACEOF
+#define DEBUG_KMEM 1
+_ACEOF
+
+
+else
+
+               DEBUG_KMEM="_without_debug_kmem"
+
+fi
+
+
+
+       { $as_echo "$as_me:$LINENO: checking whether basic kmem accounting is enabled" >&5
+$as_echo_n "checking whether basic kmem accounting is enabled... " >&6; }
+       { $as_echo "$as_me:$LINENO: result: $enable_debug_kmem" >&5
+$as_echo "$enable_debug_kmem" >&6; }
+
+
+       # Check whether --enable-debug-kmem-tracking was given.
+if test "${enable_debug_kmem_tracking+set}" = set; then
+  enableval=$enable_debug_kmem_tracking;
+else
+  enable_debug_kmem_tracking=no
+fi
+
+
+       if test "x$enable_debug_kmem_tracking" = xyes; then
+
+               KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG_KMEM_TRACKING"
+               DEBUG_KMEM_TRACKING="_with_debug_kmem_tracking"
+
+cat >>confdefs.h <<\_ACEOF
+#define DEBUG_KMEM_TRACKING 1
+_ACEOF
+
+
+else
+
+               DEBUG_KMEM_TRACKING="_without_debug_kmem_tracking"
+
+fi
+
+
+
+       { $as_echo "$as_me:$LINENO: checking whether detailed kmem tracking is enabled" >&5
+$as_echo_n "checking whether detailed kmem tracking is enabled... " >&6; }
+       { $as_echo "$as_me:$LINENO: result: $enable_debug_kmem_tracking" >&5
+$as_echo "$enable_debug_kmem_tracking" >&6; }
+
+
+ac_config_files="$ac_config_files Makefile man/Makefile man/man1/Makefile man/man5/Makefile lib/Makefile cmd/Makefile cmd/splat/Makefile cmd/splslab/Makefile module/Makefile module/spl/Makefile module/splat/Makefile include/Makefile include/fs/Makefile include/linux/Makefile include/rpc/Makefile include/sharefs/Makefile include/sys/Makefile include/sys/fm/Makefile include/sys/fs/Makefile include/util/Makefile include/vm/Makefile scripts/Makefile rpm/Makefile rpm/redhat/Makefile rpm/redhat/spl.spec rpm/redhat/spl-kmod.spec rpm/redhat/spl-dkms.spec rpm/generic/Makefile rpm/generic/spl.spec rpm/generic/spl-kmod.spec rpm/generic/spl-dkms.spec spl.release"
 
 
 cat >confcache <<\_ACEOF
 
 
 cat >confcache <<\_ACEOF
@@ -21227,7 +19394,7 @@ exec 6>&1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by $as_me, which was
+This file was extended by spl $as_me 0.7.11, which was
 generated by GNU Autoconf 2.63.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
 generated by GNU Autoconf 2.63.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -21290,7 +19457,7 @@ Report bugs to <bug-autoconf@gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
-config.status
+spl config.status 0.7.11
 configured by $0, generated by GNU Autoconf 2.63,
   with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
 configured by $0, generated by GNU Autoconf 2.63,
   with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
     "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
     "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
     "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
     "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+    "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
+    "man/man1/Makefile") CONFIG_FILES="$CONFIG_FILES man/man1/Makefile" ;;
+    "man/man5/Makefile") CONFIG_FILES="$CONFIG_FILES man/man5/Makefile" ;;
     "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
     "cmd/Makefile") CONFIG_FILES="$CONFIG_FILES cmd/Makefile" ;;
     "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;;
     "cmd/Makefile") CONFIG_FILES="$CONFIG_FILES cmd/Makefile" ;;
+    "cmd/splat/Makefile") CONFIG_FILES="$CONFIG_FILES cmd/splat/Makefile" ;;
+    "cmd/splslab/Makefile") CONFIG_FILES="$CONFIG_FILES cmd/splslab/Makefile" ;;
     "module/Makefile") CONFIG_FILES="$CONFIG_FILES module/Makefile" ;;
     "module/spl/Makefile") CONFIG_FILES="$CONFIG_FILES module/spl/Makefile" ;;
     "module/splat/Makefile") CONFIG_FILES="$CONFIG_FILES module/splat/Makefile" ;;
     "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
     "module/Makefile") CONFIG_FILES="$CONFIG_FILES module/Makefile" ;;
     "module/spl/Makefile") CONFIG_FILES="$CONFIG_FILES module/spl/Makefile" ;;
     "module/splat/Makefile") CONFIG_FILES="$CONFIG_FILES module/splat/Makefile" ;;
     "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;;
+    "include/fs/Makefile") CONFIG_FILES="$CONFIG_FILES include/fs/Makefile" ;;
+    "include/linux/Makefile") CONFIG_FILES="$CONFIG_FILES include/linux/Makefile" ;;
+    "include/rpc/Makefile") CONFIG_FILES="$CONFIG_FILES include/rpc/Makefile" ;;
+    "include/sharefs/Makefile") CONFIG_FILES="$CONFIG_FILES include/sharefs/Makefile" ;;
+    "include/sys/Makefile") CONFIG_FILES="$CONFIG_FILES include/sys/Makefile" ;;
+    "include/sys/fm/Makefile") CONFIG_FILES="$CONFIG_FILES include/sys/fm/Makefile" ;;
+    "include/sys/fs/Makefile") CONFIG_FILES="$CONFIG_FILES include/sys/fs/Makefile" ;;
+    "include/util/Makefile") CONFIG_FILES="$CONFIG_FILES include/util/Makefile" ;;
+    "include/vm/Makefile") CONFIG_FILES="$CONFIG_FILES include/vm/Makefile" ;;
     "scripts/Makefile") CONFIG_FILES="$CONFIG_FILES scripts/Makefile" ;;
     "scripts/Makefile") CONFIG_FILES="$CONFIG_FILES scripts/Makefile" ;;
-    "spl.spec") CONFIG_FILES="$CONFIG_FILES spl.spec" ;;
-    "spl-modules.spec") CONFIG_FILES="$CONFIG_FILES spl-modules.spec" ;;
-    "PKGBUILD-spl") CONFIG_FILES="$CONFIG_FILES PKGBUILD-spl" ;;
-    "PKGBUILD-spl-modules") CONFIG_FILES="$CONFIG_FILES PKGBUILD-spl-modules" ;;
+    "rpm/Makefile") CONFIG_FILES="$CONFIG_FILES rpm/Makefile" ;;
+    "rpm/redhat/Makefile") CONFIG_FILES="$CONFIG_FILES rpm/redhat/Makefile" ;;
+    "rpm/redhat/spl.spec") CONFIG_FILES="$CONFIG_FILES rpm/redhat/spl.spec" ;;
+    "rpm/redhat/spl-kmod.spec") CONFIG_FILES="$CONFIG_FILES rpm/redhat/spl-kmod.spec" ;;
+    "rpm/redhat/spl-dkms.spec") CONFIG_FILES="$CONFIG_FILES rpm/redhat/spl-dkms.spec" ;;
+    "rpm/generic/Makefile") CONFIG_FILES="$CONFIG_FILES rpm/generic/Makefile" ;;
+    "rpm/generic/spl.spec") CONFIG_FILES="$CONFIG_FILES rpm/generic/spl.spec" ;;
+    "rpm/generic/spl-kmod.spec") CONFIG_FILES="$CONFIG_FILES rpm/generic/spl-kmod.spec" ;;
+    "rpm/generic/spl-dkms.spec") CONFIG_FILES="$CONFIG_FILES rpm/generic/spl-dkms.spec" ;;
+    "spl.release") CONFIG_FILES="$CONFIG_FILES spl.release" ;;
 
   *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
 $as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
 
   *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
 $as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}