From 3fade9a394c2d4a55abb11ba76bf2ef75744caab Mon Sep 17 00:00:00 2001
From: Thierry Parmentelat <thierry.parmentelat@inria.fr>
Date: Sat, 18 May 2013 10:24:40 +0200
Subject: [PATCH] an attempt at dealing with hlist_for_each_entry_rcu now
 expecting only 3 arguments

---
 procprotect.c | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/procprotect.c b/procprotect.c
index 4763e17..1d91401 100644
--- a/procprotect.c
+++ b/procprotect.c
@@ -69,11 +69,16 @@ struct hlist_head procprotect_hash[HASH_SIZE];
 struct proc_dir_entry *proc_entry;
 
 static int run_acl(unsigned long ino) {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)
     struct hlist_node *n;
+#endif
     struct acl_entry *entry;
     hlist_for_each_entry_rcu(entry, 
-            n, &procprotect_hash[ino & (HASH_SIZE-1)],
-            hlist) {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)
+			     n, 
+#endif
+			     &procprotect_hash[ino & (HASH_SIZE-1)],
+			     hlist) {
         if (entry->ino==ino) {
             return 0;
         }
@@ -254,14 +259,19 @@ static void __exit procprotect_exit(void)
     unregister_kretprobe(&fast_probe);
     unregister_kretprobe(&slow_probe);
 	unregister_jprobe(&dolast_probe);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)
     struct hlist_node *n;
+#endif
     struct acl_entry *entry;
     int i;
 
     for (i=0;i<HASH_SIZE;i++) {
         hlist_for_each_entry_rcu(entry, 
-                n, &procprotect_hash[i],
-                hlist) {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,9,0)
+				 n, 
+#endif
+				 &procprotect_hash[i],
+				 hlist) {
             kfree(entry);
         }
     }
-- 
2.47.0