]> err.no Git - linux-2.6/commitdiff
[NETFILTER]: ipt_CLUSTERIP: fix oops in checkentry function
authorJaroslav Kysela <perex@suse.cz>
Tue, 10 Apr 2007 20:26:48 +0000 (13:26 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 10 Apr 2007 20:26:48 +0000 (13:26 -0700)
The clusterip_config_find_get() already increases entries reference
counter, so there is no reason to do it twice in checkentry() callback.

This causes the config to be freed before it is removed from the list,
resulting in a crash when adding the next rule.

Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/netfilter/ipt_CLUSTERIP.c

index e965b333c997f41a9c1e55b73bbe68656375c96a..42b08029e86729edee953a0687c8c56485dedd1e 100644 (file)
@@ -411,12 +411,10 @@ checkentry(const char *tablename,
                                       "has invalid config pointer!\n");
                                return 0;
                        }
-                       clusterip_config_entry_get(cipinfo->config);
                } else {
                        /* Case B: This is a new rule referring to an existing
                         * clusterip config. */
                        cipinfo->config = config;
-                       clusterip_config_entry_get(cipinfo->config);
                }
        } else {
                /* Case C: This is a completely new clusterip config */