--- 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 = {