Merge remote-tracking branch 'common/android-3.0' into msm-3.0
* common/android-3.0: (570 commits) misc: remove kernel debugger core ARM: common: fiq_debugger: dump sysrq directly to console if enabled ARM: common: fiq_debugger: add irq context debug functions net: wireless: bcmdhd: Call init_ioctl() only if was started properly for WEXT net: wireless: bcmdhd: Call init_ioctl() only if was started properly net: wireless: bcmdhd: Fix possible memory leak in escan/iscan cpufreq: interactive governor: default 20ms timer cpufreq: interactive governor: go to intermediate hi speed before max cpufreq: interactive governor: scale to max only if at min speed cpufreq: interactive governor: apply intermediate load on current speed ARM: idle: update idle ticks before call idle end notifier input: gpio_input: don't print debounce message unless flag is set net: wireless: bcm4329: Skip dhd_bus_stop() if bus is already down net: wireless: bcmdhd: Skip dhd_bus_stop() if bus is already down net: wireless: bcmdhd: Improve suspend/resume processing net: wireless: bcmdhd: Check if FW is Ok for internal FW call tcp: Don't nuke connections for the wrong protocol ARM: common: fiq_debugger: make uart irq be no_suspend net: wireless: Skip connect warning for CONFIG_CFG80211_ALLOW_RECONNECT mm: avoid livelock on !__GFP_FS allocations ... Conflicts: arch/arm/mm/cache-l2x0.c arch/arm/vfp/vfpmodule.c drivers/mmc/core/host.c kernel/power/wakelock.c net/bluetooth/hci_event.c Signed-off-by: Bryan Huntsman <bryanh@codeaurora.org>
This commit is contained in:
@@ -273,6 +273,8 @@
|
||||
#include <net/xfrm.h>
|
||||
#include <net/ip.h>
|
||||
#include <net/ip6_route.h>
|
||||
#include <net/ipv6.h>
|
||||
#include <net/transp_v6.h>
|
||||
#include <net/netdma.h>
|
||||
#include <net/sock.h>
|
||||
|
||||
@@ -3383,8 +3385,16 @@ restart:
|
||||
sk_nulls_for_each(sk, node, &tcp_hashinfo.ehash[bucket].chain) {
|
||||
struct inet_sock *inet = inet_sk(sk);
|
||||
|
||||
if (sysctl_ip_dynaddr && sk->sk_state == TCP_SYN_SENT)
|
||||
continue;
|
||||
if (sock_flag(sk, SOCK_DEAD))
|
||||
continue;
|
||||
|
||||
if (family == AF_INET) {
|
||||
__be32 s4 = inet->inet_rcv_saddr;
|
||||
if (s4 == LOOPBACK4_IPV6)
|
||||
continue;
|
||||
|
||||
if (in->s_addr != s4 &&
|
||||
!(in->s_addr == INADDR_ANY &&
|
||||
!tcp_is_local(net, s4)))
|
||||
@@ -3396,7 +3406,11 @@ restart:
|
||||
struct in6_addr *s6;
|
||||
if (!inet->pinet6)
|
||||
continue;
|
||||
|
||||
s6 = &inet->pinet6->rcv_saddr;
|
||||
if (ipv6_addr_type(s6) == IPV6_ADDR_MAPPED)
|
||||
continue;
|
||||
|
||||
if (!ipv6_addr_equal(in6, s6) &&
|
||||
!(ipv6_addr_equal(in6, &in6addr_any) &&
|
||||
!tcp_is_local6(net, s6)))
|
||||
@@ -3404,11 +3418,6 @@ restart:
|
||||
}
|
||||
#endif
|
||||
|
||||
if (sysctl_ip_dynaddr && sk->sk_state == TCP_SYN_SENT)
|
||||
continue;
|
||||
if (sock_flag(sk, SOCK_DEAD))
|
||||
continue;
|
||||
|
||||
sock_hold(sk);
|
||||
spin_unlock_bh(lock);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user