--- a/rfs_cm.c +++ b/rfs_cm.c @@ -462,14 +462,6 @@ static int rfs_cm_conntrack_event(unsign } /* - * If this is an untracked connection then we can't have any state either. - */ - if (unlikely(ct == &nf_conntrack_untracked)) { - RFS_TRACE("ignoring untracked conn\n"); - return NOTIFY_DONE; - } - - /* * Ignore anything other than IPv4 connections. */ if (unlikely(nf_ct_l3num(ct) != AF_INET)) { --- a/rfs_rule.c +++ b/rfs_rule.c @@ -702,7 +702,7 @@ int rfs_rule_init(void) RFS_DEBUG("RFS Rule init\n"); spin_lock_init(&rr->hash_lock); - memset(&rr->hash, 0, RFS_RULE_HASH_SIZE); + memset(&rr->hash, 0, sizeof(rr->hash)); rr->proc_rule = proc_create("rule", S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH, rfs_proc_entry, &rule_proc_fops); @@ -717,7 +717,7 @@ void rfs_rule_exit(void) struct rfs_rule *rr = &__rr; RFS_DEBUG("RFS Rule exit\n"); - if (rr->proc_rule); + if (rr->proc_rule) remove_proc_entry("rule", rfs_proc_entry); rfs_rule_destroy_all(); } --- a/rfs_wxt.c +++ b/rfs_wxt.c @@ -422,7 +422,7 @@ static int rfs_wxt_rx(struct socket *soc #else iov_iter_init(&msg.msg_iter, READ, &iov, 1, len); #endif - size = sock_recvmsg(sock, &msg, len, msg.msg_flags); + size = sock_recvmsg(sock, &msg, msg.msg_flags); set_fs(oldfs); return size; @@ -510,7 +510,7 @@ int rfs_wxt_stop(void) } RFS_DEBUG("kill rfs_wxt thread"); - force_sig(SIGKILL, __rwn.thread); + send_sig(SIGKILL, __rwn.thread, 1); if (__rwn.thread) err = kthread_stop(__rwn.thread); __rwn.thread = NULL;