build: support for Linux 4.15

Signed-off-by: Marcelo Henrique Cerri <marcelo.cerri@canonical.com>
This commit is contained in:
Marcelo Henrique Cerri
2018-01-04 18:50:50 +01:00
committed by Jan Engelhardt
parent d2eeac4c32
commit 2b76b68c65

View File

@@ -358,10 +358,20 @@ has_logged_during_this_minute(const struct peer *peer)
* @r: rule
*/
static void
peer_gc(unsigned long r)
peer_gc(
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
struct timer_list *tl
#else
unsigned long r
#endif
)
{
unsigned int i;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
struct xt_pknock_rule *rule = from_timer(rule, tl, timer);
#else
struct xt_pknock_rule *rule = (struct xt_pknock_rule *)r;
#endif
struct peer *peer;
struct list_head *pos, *n;
@@ -469,9 +479,13 @@ add_rule(struct xt_pknock_mtinfo *info)
if (rule->peer_head == NULL)
goto out;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
timer_setup(&rule->timer, peer_gc, 0);
#else
init_timer(&rule->timer);
rule->timer.function = peer_gc;
rule->timer.data = (unsigned long)rule;
#endif
rule->status_proc = proc_create_data(info->rule_name, 0, pde,
&pknock_proc_ops, rule);