netfilter: xtables: print details on size mismatch
authorJan Engelhardt <jengelh@medozas.de>
Thu, 25 Jun 2009 16:32:12 +0000 (18:32 +0200)
committerJan Engelhardt <jengelh@medozas.de>
Mon, 15 Feb 2010 15:59:28 +0000 (16:59 +0100)
Print which revision has been used and which size are which
(kernel/user) for easier debugging.

Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
net/netfilter/x_tables.c

index 255ab06..1250319 100644 (file)
@@ -366,8 +366,10 @@ int xt_check_match(struct xt_mtchk_param *par,
                 * ebt_among is exempt from centralized matchsize checking
                 * because it uses a dynamic-size data set.
                 */
-               pr_err("%s_tables: %s match: invalid size %u != %u\n",
+               pr_err("%s_tables: %s.%u match: invalid size "
+                      "%u (kernel) != (user) %u\n",
                       xt_prefix[par->family], par->match->name,
+                      par->match->revision,
                       XT_ALIGN(par->match->matchsize), size);
                return -EINVAL;
        }
@@ -516,8 +518,10 @@ int xt_check_target(struct xt_tgchk_param *par,
                    unsigned int size, u_int8_t proto, bool inv_proto)
 {
        if (XT_ALIGN(par->target->targetsize) != size) {
-               pr_err("%s_tables: %s target: invalid size %u != %u\n",
+               pr_err("%s_tables: %s.%u target: invalid size "
+                      "%u (kernel) != (user) %u\n",
                       xt_prefix[par->family], par->target->name,
+                      par->target->revision,
                       XT_ALIGN(par->target->targetsize), size);
                return -EINVAL;
        }