diff options
| author | Patrick McHardy <kaber@trash.net> | 2004-09-02 10:08:40 -0700 |
|---|---|---|
| committer | Patrick McHardy <kaber@trash.net> | 2004-09-02 10:08:40 -0700 |
| commit | 7cd101a51b34e2cfe1f93543937a54f0dadc2cc2 (patch) | |
| tree | a7c2b336136cafa2942b18d34de5133316c342e6 /include | |
| parent | 3c9df440395f71ab8d44aa2ff2bd1f590f052a48 (diff) | |
[NETFILTER]: Fix deadlock condition in conntrack/nat-helpers
There is a possible deadlock condition with conntrack/nat-helpers:
CPU1:
conntrack-helper:help: lock(private_lock)
ip_conntrack_expect_related: write_lock(ip_conntrack_lock)
CPU2:
nat-core:do_bindings: read_lock(ip_conntrack_lock)
nat-helper:help: lock(private_lock)
The lock in the nat-helper is unneccessary because the expectation
is never changed and is protected by ip_conntrack_lock.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Harald Welte <laforge@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/netfilter_ipv4/ip_conntrack_ftp.h | 5 | ||||
| -rw-r--r-- | include/linux/netfilter_ipv4/ip_conntrack_irc.h | 5 |
2 files changed, 0 insertions, 10 deletions
diff --git a/include/linux/netfilter_ipv4/ip_conntrack_ftp.h b/include/linux/netfilter_ipv4/ip_conntrack_ftp.h index 677db49e26fb..2f85006c75f9 100644 --- a/include/linux/netfilter_ipv4/ip_conntrack_ftp.h +++ b/include/linux/netfilter_ipv4/ip_conntrack_ftp.h @@ -4,11 +4,6 @@ #ifdef __KERNEL__ -#include <linux/netfilter_ipv4/lockhelp.h> - -/* Protects ftp part of conntracks */ -DECLARE_LOCK_EXTERN(ip_ftp_lock); - #define FTP_PORT 21 #endif /* __KERNEL__ */ diff --git a/include/linux/netfilter_ipv4/ip_conntrack_irc.h b/include/linux/netfilter_ipv4/ip_conntrack_irc.h index 170248fa87bd..0cd24a02d360 100644 --- a/include/linux/netfilter_ipv4/ip_conntrack_irc.h +++ b/include/linux/netfilter_ipv4/ip_conntrack_irc.h @@ -33,13 +33,8 @@ struct ip_ct_irc_master { #ifdef __KERNEL__ -#include <linux/netfilter_ipv4/lockhelp.h> - #define IRC_PORT 6667 -/* Protects irc part of conntracks */ -DECLARE_LOCK_EXTERN(ip_irc_lock); - #endif /* __KERNEL__ */ #endif /* _IP_CONNTRACK_IRC_H */ |
