Index: trunk/src/kern_head.c
===================================================================
--- trunk/src/kern_head.c	(revision 50)
+++ trunk/src/kern_head.c	(revision 51)
@@ -354,63 +354,9 @@
 
 
-struct inode_operations {
-  int (*create) (int *,int *,int);
-  int * (*lookup) (int *,int *);
-  int (*link) (int *,int *,int *);
-  int (*unlink) (int *,int *);
-  int (*symlink) (int *,int *,const char *);
-  int (*mkdir) (int *,int *,int);
-  int (*rmdir) (int *,int *);
-  int (*mknod) (int *,int *,int,int);
-  int (*rename) (int *, int *,
-                 int *, int *);
-  int (*readlink) (int *, char *,int);
-  int (*follow_link) (int *, int *);
-  void (*truncate) (int *);
-  int (*permission) (int *, int);
-  int (*revalidate) (int *);
-  /*
-    int (*setattr) (int *, int *);
-    int (*getattr) (int *, int *);
-    int (*setxattr) (int *, const char *, void *, size_t, int);
-    ssize_t (*getxattr) (int *, const char *, void *, size_t);
-    ssize_t (*listxattr) (int *, char *, size_t);
-    int (*removexattr) (int *, const char *);
-  */
-};
-
-struct file_operations {
-  int (*create) (int *,int *,int);
-};
-
-struct proc_dir_entry {
-  unsigned short low_ino;
-  unsigned short namelen;
-  const char * name;
-  mode_t mode;
-  nlink_t nlink;
-  uid_t uid;
-  gid_t gid;
-  unsigned long size; 
-  struct inode_operations * proc_iops;
-  struct file_operations * proc_fops;
-  /*
-  get_info_t *get_info;
-  struct module *owner;
-  struct proc_dir_entry *next, *parent, *subdir;
-  void *data;
-  read_proc_t *read_proc;
-  write_proc_t *write_proc;
-  atomic_t count;         
-  int deleted;  
-  */          
-};
-
-
-
 int main(int argc, char * argv[])
 {
   int i, count, maxcall, qq;
   int which = 4;
+  int two_six_seventeen_plus = 0;
   smap_entry sh_smap[SH_MAXCALLS];
   struct utsname utbuf;
@@ -455,5 +401,11 @@
     which = 4;
   else if (strncmp(p, "2.6", 3) == 0)
-    which = 6;
+    {
+      which = 6;
+      if (17 >= atoi (&p[4]))
+	{
+	  two_six_seventeen_plus = 1;
+	}
+    }
   else
     {
@@ -668,4 +620,8 @@
   if (proc_root_iops != 0) {
     printf("#define PROC_ROOT_IOPS_LOC %#lx\n\n", proc_root_iops);
+  }
+
+  if (two_six_seventeen_plus == 1) {
+    printf("#define TWO_SIX_SEVENTEEN_PLUS 1\n\n");
   }
 
Index: trunk/src/samhain_hide.c
===================================================================
--- trunk/src/samhain_hide.c	(revision 50)
+++ trunk/src/samhain_hide.c	(revision 51)
@@ -214,5 +214,15 @@
 static int removeme = 1;
 
+#ifdef MODULE_PARM 
 MODULE_PARM (removeme, "i");
+#else
+module_param(removeme, int, 0444);
+#endif
+
+#ifdef MODULE_PARM_DESC
+MODULE_PARM_DESC(removeme, "Choose zero for not hiding.");
+#endif
+
+/* LINUX26 */
 #endif
 
Index: trunk/src/sh_kern.c
===================================================================
--- trunk/src/sh_kern.c	(revision 50)
+++ trunk/src/sh_kern.c	(revision 51)
@@ -448,4 +448,6 @@
 };
 
+/* this one is just for dummy purposes
+ */
 struct file_operations {
   int (*create) (int *,int *,int);
@@ -460,5 +462,9 @@
   uid_t uid;
   gid_t gid;
-  unsigned long size; 
+#if defined  TWO_SIX_SEVENTEEN_PLUS
+  /* size is loff_t in 2.6.17+ kernels */
+  unsigned long dummy; 
+#endif
+  unsigned long size;
   struct inode_operations * proc_iops;
   struct file_operations * proc_fops;
@@ -892,6 +898,6 @@
 		       _("proc_root_inode_operations.lookup != proc_root_lookup"));
     }
-  else if ( ( ((unsigned int) * &proc_root_dir.proc_iops) != proc_root_iops) &&
-       (proc_root_dir.size != proc_root_iops))
+  else if ( ( ((unsigned int) * &proc_root_dir.proc_iops) != proc_root_iops) 
+	    && (proc_root_dir.size != proc_root_iops))
     {
       sh_error_handle ((-1), FIL__, __LINE__, 0, MSG_KERN_PROC,
