Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
98a39431
Commit
98a39431
authored
Jun 14, 2004
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://kernel.bkbits.net/davem/net-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux
parents
3b89d486
158cb909
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
16 additions
and
23 deletions
+16
-23
net/ipv4/netfilter/ip_conntrack_core.c
net/ipv4/netfilter/ip_conntrack_core.c
+5
-6
net/ipv4/netfilter/ip_conntrack_proto_tcp.c
net/ipv4/netfilter/ip_conntrack_proto_tcp.c
+2
-0
net/ipv6/udp.c
net/ipv6/udp.c
+9
-17
No files found.
net/ipv4/netfilter/ip_conntrack_core.c
View file @
98a39431
...
...
@@ -324,8 +324,9 @@ destroy_conntrack(struct nf_conntrack *nfct)
ip_conntrack_destroyed
(
ct
);
WRITE_LOCK
(
&
ip_conntrack_lock
);
/* Delete us from our own list to prevent corruption later */
list_del
(
&
ct
->
sibling_list
);
/* Make sure don't leave any orphaned expectations lying around */
if
(
ct
->
expecting
)
remove_expectations
(
ct
,
1
);
/* Delete our master expectation */
if
(
ct
->
master
)
{
...
...
@@ -1127,10 +1128,8 @@ int ip_conntrack_alter_reply(struct ip_conntrack *conntrack,
DUMP_TUPLE
(
newreply
);
conntrack
->
tuplehash
[
IP_CT_DIR_REPLY
].
tuple
=
*
newreply
;
if
(
!
conntrack
->
master
)
conntrack
->
helper
=
LIST_FIND
(
&
helpers
,
helper_cmp
,
struct
ip_conntrack_helper
*
,
newreply
);
if
(
!
conntrack
->
master
&&
list_empty
(
&
conntrack
->
sibling_list
))
conntrack
->
helper
=
ip_ct_find_helper
(
newreply
);
WRITE_UNLOCK
(
&
ip_conntrack_lock
);
return
1
;
...
...
net/ipv4/netfilter/ip_conntrack_proto_tcp.c
View file @
98a39431
...
...
@@ -177,6 +177,8 @@ static int tcp_packet(struct ip_conntrack *conntrack,
if
(
skb_copy_bits
(
skb
,
skb
->
nh
.
iph
->
ihl
*
4
,
&
tcph
,
sizeof
(
tcph
))
!=
0
)
return
-
1
;
if
(
skb
->
len
<
skb
->
nh
.
iph
->
ihl
*
4
+
tcph
.
doff
*
4
)
return
-
1
;
/* If only reply is a RST, we can consider ourselves not to
have an established connection: this is a fairly common
...
...
net/ipv6/udp.c
View file @
98a39431
...
...
@@ -572,34 +572,26 @@ static void udpv6_mcast_deliver(struct udphdr *uh,
struct
sk_buff
*
skb
)
{
struct
sock
*
sk
,
*
sk2
;
struct
sk_buff
*
buff
;
int
dif
;
read_lock
(
&
udp_hash_lock
);
sk
=
sk_head
(
&
udp_hash
[
ntohs
(
uh
->
dest
)
&
(
UDP_HTABLE_SIZE
-
1
)]);
dif
=
skb
->
dev
->
ifindex
;
sk
=
udp_v6_mcast_next
(
sk
,
uh
->
dest
,
daddr
,
uh
->
source
,
saddr
,
dif
);
if
(
!
sk
)
goto
free_skb
;
if
(
!
sk
)
{
kfree_skb
(
skb
);
goto
out
;
}
buff
=
NULL
;
sk2
=
sk
;
while
((
sk2
=
udp_v6_mcast_next
(
sk_next
(
sk2
),
uh
->
dest
,
daddr
,
uh
->
source
,
saddr
,
dif
)))
{
if
(
!
buff
)
{
buff
=
skb_clone
(
skb
,
GFP_ATOMIC
);
if
(
!
buff
)
continue
;
}
if
(
udpv6_queue_rcv_skb
(
sk2
,
buff
)
>=
0
)
buff
=
NULL
;
}
if
(
buff
)
kfree_skb
(
buff
);
if
(
udpv6_queue_rcv_skb
(
sk
,
skb
)
<
0
)
{
free_skb:
kfree_skb
(
skb
);
struct
sk_buff
*
buff
=
skb_clone
(
skb
,
GFP_ATOMIC
);
if
(
buff
)
udpv6_queue_rcv_skb
(
sk2
,
buff
);
}
udpv6_queue_rcv_skb
(
sk
,
skb
);
out:
read_unlock
(
&
udp_hash_lock
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment