mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 21:38:32 +08:00
[NETFILTER]: ipt_CLUSTERIP: fix oops in checkentry function
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>
This commit is contained in:
parent
15d33c070d
commit
50c9cc2e54
@ -411,12 +411,10 @@ checkentry(const char *tablename,
|
|||||||
"has invalid config pointer!\n");
|
"has invalid config pointer!\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
clusterip_config_entry_get(cipinfo->config);
|
|
||||||
} else {
|
} else {
|
||||||
/* Case B: This is a new rule referring to an existing
|
/* Case B: This is a new rule referring to an existing
|
||||||
* clusterip config. */
|
* clusterip config. */
|
||||||
cipinfo->config = config;
|
cipinfo->config = config;
|
||||||
clusterip_config_entry_get(cipinfo->config);
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
/* Case C: This is a completely new clusterip config */
|
/* Case C: This is a completely new clusterip config */
|
||||||
|
Loading…
Reference in New Issue
Block a user