|
|
@ -0,0 +1,38 @@ |
|
|
|
--- a/src/linux/xt_coova.c
|
|
|
|
+++ b/src/linux/xt_coova.c
|
|
|
|
@@ -91,8 +91,12 @@ static DEFINE_MUTEX(coova_mutex);
|
|
|
|
|
|
|
|
#ifdef CONFIG_PROC_FS |
|
|
|
static struct proc_dir_entry *coova_proc_dir; |
|
|
|
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0)
|
|
|
|
+static const struct proc_ops coova_old_fops, coova_mt_fops;
|
|
|
|
+#else
|
|
|
|
static const struct file_operations coova_old_fops, coova_mt_fops; |
|
|
|
#endif |
|
|
|
+#endif
|
|
|
|
|
|
|
|
static u_int32_t hash_rnd; |
|
|
|
static bool hash_rnd_initted; |
|
|
|
@@ -577,6 +581,14 @@ coova_mt_proc_write(struct file *file, c
|
|
|
|
return size + 1; |
|
|
|
} |
|
|
|
|
|
|
|
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,5,0)
|
|
|
|
+static const struct proc_ops coova_mt_fops = {
|
|
|
|
+ .proc_open = coova_seq_open,
|
|
|
|
+ .proc_read = seq_read,
|
|
|
|
+ .proc_write = coova_mt_proc_write,
|
|
|
|
+ .proc_release = seq_release_private,
|
|
|
|
+};
|
|
|
|
+#else
|
|
|
|
static const struct file_operations coova_mt_fops = { |
|
|
|
.open = coova_seq_open, |
|
|
|
.read = seq_read, |
|
|
|
@@ -584,6 +596,7 @@ static const struct file_operations coov
|
|
|
|
.release = seq_release_private, |
|
|
|
.owner = THIS_MODULE, |
|
|
|
}; |
|
|
|
+#endif
|
|
|
|
#endif /* CONFIG_PROC_FS */ |
|
|
|
|
|
|
|
static struct xt_match coova_mt_reg[] __read_mostly = { |