Pull ec into release branch
[firefly-linux-kernel-4.4.55.git] / net / ipv6 / netfilter / ip6t_HL.c
index 04e500172fb48abc3c4505c9e8e4ec605338c4ba..ad4d94310b8734ab145ef79e443acaa3550e719f 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
  * Hop Limit modification target for ip6tables
  * Maciej Soltysiak <solt@dns.toxicfilms.tv>
  * Based on HW's TTL module
@@ -18,7 +18,7 @@ MODULE_AUTHOR("Maciej Soltysiak <solt@dns.toxicfilms.tv>");
 MODULE_DESCRIPTION("IP6 tables Hop Limit modification module");
 MODULE_LICENSE("GPL");
 
-static unsigned int ip6t_hl_target(struct sk_buff **pskb, 
+static unsigned int ip6t_hl_target(struct sk_buff **pskb,
                                   const struct net_device *in,
                                   const struct net_device *out,
                                   unsigned int hooknum,
@@ -32,7 +32,7 @@ static unsigned int ip6t_hl_target(struct sk_buff **pskb,
        if (!skb_make_writable(pskb, (*pskb)->len))
                return NF_DROP;
 
-       ip6h = (*pskb)->nh.ipv6h;
+       ip6h = ipv6_hdr(*pskb);
 
        switch (info->mode) {
                case IP6T_HL_SET:
@@ -58,34 +58,34 @@ static unsigned int ip6t_hl_target(struct sk_buff **pskb,
        return XT_CONTINUE;
 }
 
-static int ip6t_hl_checkentry(const char *tablename,
+static bool ip6t_hl_checkentry(const char *tablename,
                const void *entry,
                const struct xt_target *target,
                void *targinfo,
                unsigned int hook_mask)
 {
-       struct ip6t_HL_info *info = targinfo;
+       const struct ip6t_HL_info *info = targinfo;
 
        if (info->mode > IP6T_HL_MAXMODE) {
-               printk(KERN_WARNING "ip6t_HL: invalid or unknown Mode %u\n", 
+               printk(KERN_WARNING "ip6t_HL: invalid or unknown Mode %u\n",
                        info->mode);
-               return 0;
+               return false;
        }
-       if ((info->mode != IP6T_HL_SET) && (info->hop_limit == 0)) {
+       if (info->mode != IP6T_HL_SET && info->hop_limit == 0) {
                printk(KERN_WARNING "ip6t_HL: increment/decrement doesn't "
                        "make sense with value 0\n");
-               return 0;
+               return false;
        }
-       return 1;
+       return true;
 }
 
-static struct xt_target ip6t_HL = {
-       .name           = "HL", 
+static struct xt_target ip6t_HL __read_mostly = {
+       .name           = "HL",
        .family         = AF_INET6,
-       .target         = ip6t_hl_target, 
+       .target         = ip6t_hl_target,
        .targetsize     = sizeof(struct ip6t_HL_info),
        .table          = "mangle",
-       .checkentry     = ip6t_hl_checkentry, 
+       .checkentry     = ip6t_hl_checkentry,
        .me             = THIS_MODULE
 };