linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / net / sched / ematch.c
index 0fd0768..5cb956b 100644 (file)
@@ -81,6 +81,7 @@
  *      open up a beer to watch the compilation going.
  */
 
+#include <linux/config.h>
 #include <linux/module.h>
 #include <linux/types.h>
 #include <linux/kernel.h>
@@ -321,9 +322,10 @@ int tcf_em_tree_validate(struct tcf_proto *tp, struct rtattr *rta,
        list_len = RTA_PAYLOAD(rt_list);
        matches_len = tree_hdr->nmatches * sizeof(*em);
 
-       tree->matches = kzalloc(matches_len, GFP_KERNEL);
+       tree->matches = kmalloc(matches_len, GFP_KERNEL);
        if (tree->matches == NULL)
                goto errout;
+       memset(tree->matches, 0, matches_len);
 
        /* We do not use rtattr_parse_nested here because the maximum
         * number of attributes is unknown. This saves us the allocation