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
c0eea79b
Commit
c0eea79b
authored
Feb 23, 2006
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
parents
adb9c9ac
35eaa31e
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
28 additions
and
18 deletions
+28
-18
drivers/net/ifb.c
drivers/net/ifb.c
+1
-1
include/net/xfrm.h
include/net/xfrm.h
+5
-0
net/bridge/br_netfilter.c
net/bridge/br_netfilter.c
+1
-0
net/ethernet/eth.c
net/ethernet/eth.c
+6
-6
net/ipv4/route.c
net/ipv4/route.c
+1
-1
net/ipv4/xfrm4_policy.c
net/ipv4/xfrm4_policy.c
+4
-1
net/key/af_key.c
net/key/af_key.c
+1
-1
net/xfrm/xfrm_policy.c
net/xfrm/xfrm_policy.c
+4
-3
net/xfrm/xfrm_state.c
net/xfrm/xfrm_state.c
+4
-4
net/xfrm/xfrm_user.c
net/xfrm/xfrm_user.c
+1
-1
No files found.
drivers/net/ifb.c
View file @
c0eea79b
...
@@ -57,7 +57,7 @@ struct ifb_private {
...
@@ -57,7 +57,7 @@ struct ifb_private {
struct
sk_buff_head
tq
;
struct
sk_buff_head
tq
;
};
};
static
int
numifbs
=
1
;
static
int
numifbs
=
2
;
static
void
ri_tasklet
(
unsigned
long
dev
);
static
void
ri_tasklet
(
unsigned
long
dev
);
static
int
ifb_xmit
(
struct
sk_buff
*
skb
,
struct
net_device
*
dev
);
static
int
ifb_xmit
(
struct
sk_buff
*
skb
,
struct
net_device
*
dev
);
...
...
include/net/xfrm.h
View file @
c0eea79b
...
@@ -403,6 +403,11 @@ unsigned xfrm_spi_hash(xfrm_address_t *addr, u32 spi, u8 proto, unsigned short f
...
@@ -403,6 +403,11 @@ unsigned xfrm_spi_hash(xfrm_address_t *addr, u32 spi, u8 proto, unsigned short f
extern
void
__xfrm_state_destroy
(
struct
xfrm_state
*
);
extern
void
__xfrm_state_destroy
(
struct
xfrm_state
*
);
static
inline
void
__xfrm_state_put
(
struct
xfrm_state
*
x
)
{
atomic_dec
(
&
x
->
refcnt
);
}
static
inline
void
xfrm_state_put
(
struct
xfrm_state
*
x
)
static
inline
void
xfrm_state_put
(
struct
xfrm_state
*
x
)
{
{
if
(
atomic_dec_and_test
(
&
x
->
refcnt
))
if
(
atomic_dec_and_test
(
&
x
->
refcnt
))
...
...
net/bridge/br_netfilter.c
View file @
c0eea79b
...
@@ -90,6 +90,7 @@ static struct rtable __fake_rtable = {
...
@@ -90,6 +90,7 @@ static struct rtable __fake_rtable = {
.
dev
=
&
__fake_net_device
,
.
dev
=
&
__fake_net_device
,
.
path
=
&
__fake_rtable
.
u
.
dst
,
.
path
=
&
__fake_rtable
.
u
.
dst
,
.
metrics
=
{[
RTAX_MTU
-
1
]
=
1500
},
.
metrics
=
{[
RTAX_MTU
-
1
]
=
1500
},
.
flags
=
DST_NOXFRM
,
}
}
},
},
.
rt_flags
=
0
,
.
rt_flags
=
0
,
...
...
net/ethernet/eth.c
View file @
c0eea79b
...
@@ -95,6 +95,12 @@ int eth_header(struct sk_buff *skb, struct net_device *dev, unsigned short type,
...
@@ -95,6 +95,12 @@ int eth_header(struct sk_buff *skb, struct net_device *dev, unsigned short type,
saddr
=
dev
->
dev_addr
;
saddr
=
dev
->
dev_addr
;
memcpy
(
eth
->
h_source
,
saddr
,
dev
->
addr_len
);
memcpy
(
eth
->
h_source
,
saddr
,
dev
->
addr_len
);
if
(
daddr
)
{
memcpy
(
eth
->
h_dest
,
daddr
,
dev
->
addr_len
);
return
ETH_HLEN
;
}
/*
/*
* Anyway, the loopback-device should never use this function...
* Anyway, the loopback-device should never use this function...
*/
*/
...
@@ -105,12 +111,6 @@ int eth_header(struct sk_buff *skb, struct net_device *dev, unsigned short type,
...
@@ -105,12 +111,6 @@ int eth_header(struct sk_buff *skb, struct net_device *dev, unsigned short type,
return
ETH_HLEN
;
return
ETH_HLEN
;
}
}
if
(
daddr
)
{
memcpy
(
eth
->
h_dest
,
daddr
,
dev
->
addr_len
);
return
ETH_HLEN
;
}
return
-
ETH_HLEN
;
return
-
ETH_HLEN
;
}
}
...
...
net/ipv4/route.c
View file @
c0eea79b
...
@@ -835,7 +835,7 @@ static int rt_garbage_collect(void)
...
@@ -835,7 +835,7 @@ static int rt_garbage_collect(void)
int
r
;
int
r
;
rthp
=
rt_remove_balanced_route
(
rthp
=
rt_remove_balanced_route
(
&
rt_hash_table
[
i
].
chain
,
&
rt_hash_table
[
k
].
chain
,
rth
,
rth
,
&
r
);
&
r
);
goal
-=
r
;
goal
-=
r
;
...
...
net/ipv4/xfrm4_policy.c
View file @
c0eea79b
...
@@ -35,6 +35,7 @@ __xfrm4_find_bundle(struct flowi *fl, struct xfrm_policy *policy)
...
@@ -35,6 +35,7 @@ __xfrm4_find_bundle(struct flowi *fl, struct xfrm_policy *policy)
if
(
xdst
->
u
.
rt
.
fl
.
oif
==
fl
->
oif
&&
/*XXX*/
if
(
xdst
->
u
.
rt
.
fl
.
oif
==
fl
->
oif
&&
/*XXX*/
xdst
->
u
.
rt
.
fl
.
fl4_dst
==
fl
->
fl4_dst
&&
xdst
->
u
.
rt
.
fl
.
fl4_dst
==
fl
->
fl4_dst
&&
xdst
->
u
.
rt
.
fl
.
fl4_src
==
fl
->
fl4_src
&&
xdst
->
u
.
rt
.
fl
.
fl4_src
==
fl
->
fl4_src
&&
xdst
->
u
.
rt
.
fl
.
fl4_tos
==
fl
->
fl4_tos
&&
xfrm_bundle_ok
(
xdst
,
fl
,
AF_INET
))
{
xfrm_bundle_ok
(
xdst
,
fl
,
AF_INET
))
{
dst_clone
(
dst
);
dst_clone
(
dst
);
break
;
break
;
...
@@ -61,7 +62,8 @@ __xfrm4_bundle_create(struct xfrm_policy *policy, struct xfrm_state **xfrm, int
...
@@ -61,7 +62,8 @@ __xfrm4_bundle_create(struct xfrm_policy *policy, struct xfrm_state **xfrm, int
.
nl_u
=
{
.
nl_u
=
{
.
ip4_u
=
{
.
ip4_u
=
{
.
saddr
=
local
,
.
saddr
=
local
,
.
daddr
=
remote
.
daddr
=
remote
,
.
tos
=
fl
->
fl4_tos
}
}
}
}
};
};
...
@@ -230,6 +232,7 @@ _decode_session4(struct sk_buff *skb, struct flowi *fl)
...
@@ -230,6 +232,7 @@ _decode_session4(struct sk_buff *skb, struct flowi *fl)
fl
->
proto
=
iph
->
protocol
;
fl
->
proto
=
iph
->
protocol
;
fl
->
fl4_dst
=
iph
->
daddr
;
fl
->
fl4_dst
=
iph
->
daddr
;
fl
->
fl4_src
=
iph
->
saddr
;
fl
->
fl4_src
=
iph
->
saddr
;
fl
->
fl4_tos
=
iph
->
tos
;
}
}
static
inline
int
xfrm4_garbage_collect
(
void
)
static
inline
int
xfrm4_garbage_collect
(
void
)
...
...
net/key/af_key.c
View file @
c0eea79b
...
@@ -1423,7 +1423,7 @@ static int pfkey_add(struct sock *sk, struct sk_buff *skb, struct sadb_msg *hdr,
...
@@ -1423,7 +1423,7 @@ static int pfkey_add(struct sock *sk, struct sk_buff *skb, struct sadb_msg *hdr,
if
(
err
<
0
)
{
if
(
err
<
0
)
{
x
->
km
.
state
=
XFRM_STATE_DEAD
;
x
->
km
.
state
=
XFRM_STATE_DEAD
;
xfrm_state_put
(
x
);
__
xfrm_state_put
(
x
);
goto
out
;
goto
out
;
}
}
...
...
net/xfrm/xfrm_policy.c
View file @
c0eea79b
...
@@ -782,7 +782,7 @@ int xfrm_lookup(struct dst_entry **dst_p, struct flowi *fl,
...
@@ -782,7 +782,7 @@ int xfrm_lookup(struct dst_entry **dst_p, struct flowi *fl,
int
nx
=
0
;
int
nx
=
0
;
int
err
;
int
err
;
u32
genid
;
u32
genid
;
u16
family
=
dst_orig
->
ops
->
family
;
u16
family
;
u8
dir
=
policy_to_flow_dir
(
XFRM_POLICY_OUT
);
u8
dir
=
policy_to_flow_dir
(
XFRM_POLICY_OUT
);
u32
sk_sid
=
security_sk_sid
(
sk
,
fl
,
dir
);
u32
sk_sid
=
security_sk_sid
(
sk
,
fl
,
dir
);
restart:
restart:
...
@@ -796,13 +796,14 @@ int xfrm_lookup(struct dst_entry **dst_p, struct flowi *fl,
...
@@ -796,13 +796,14 @@ int xfrm_lookup(struct dst_entry **dst_p, struct flowi *fl,
if
((
dst_orig
->
flags
&
DST_NOXFRM
)
||
!
xfrm_policy_list
[
XFRM_POLICY_OUT
])
if
((
dst_orig
->
flags
&
DST_NOXFRM
)
||
!
xfrm_policy_list
[
XFRM_POLICY_OUT
])
return
0
;
return
0
;
policy
=
flow_cache_lookup
(
fl
,
sk_sid
,
family
,
dir
,
policy
=
flow_cache_lookup
(
fl
,
sk_sid
,
dst_orig
->
ops
->
family
,
xfrm_policy_lookup
);
dir
,
xfrm_policy_lookup
);
}
}
if
(
!
policy
)
if
(
!
policy
)
return
0
;
return
0
;
family
=
dst_orig
->
ops
->
family
;
policy
->
curlft
.
use_time
=
(
unsigned
long
)
xtime
.
tv_sec
;
policy
->
curlft
.
use_time
=
(
unsigned
long
)
xtime
.
tv_sec
;
switch
(
policy
->
action
)
{
switch
(
policy
->
action
)
{
...
...
net/xfrm/xfrm_state.c
View file @
c0eea79b
...
@@ -220,14 +220,14 @@ static int __xfrm_state_delete(struct xfrm_state *x)
...
@@ -220,14 +220,14 @@ static int __xfrm_state_delete(struct xfrm_state *x)
x
->
km
.
state
=
XFRM_STATE_DEAD
;
x
->
km
.
state
=
XFRM_STATE_DEAD
;
spin_lock
(
&
xfrm_state_lock
);
spin_lock
(
&
xfrm_state_lock
);
list_del
(
&
x
->
bydst
);
list_del
(
&
x
->
bydst
);
atomic_dec
(
&
x
->
refcnt
);
__xfrm_state_put
(
x
);
if
(
x
->
id
.
spi
)
{
if
(
x
->
id
.
spi
)
{
list_del
(
&
x
->
byspi
);
list_del
(
&
x
->
byspi
);
atomic_dec
(
&
x
->
refcnt
);
__xfrm_state_put
(
x
);
}
}
spin_unlock
(
&
xfrm_state_lock
);
spin_unlock
(
&
xfrm_state_lock
);
if
(
del_timer
(
&
x
->
timer
))
if
(
del_timer
(
&
x
->
timer
))
atomic_dec
(
&
x
->
refcnt
);
__xfrm_state_put
(
x
);
/* The number two in this test is the reference
/* The number two in this test is the reference
* mentioned in the comment below plus the reference
* mentioned in the comment below plus the reference
...
@@ -243,7 +243,7 @@ static int __xfrm_state_delete(struct xfrm_state *x)
...
@@ -243,7 +243,7 @@ static int __xfrm_state_delete(struct xfrm_state *x)
* The xfrm_state_alloc call gives a reference, and that
* The xfrm_state_alloc call gives a reference, and that
* is what we are dropping here.
* is what we are dropping here.
*/
*/
atomic_dec
(
&
x
->
refcnt
);
__xfrm_state_put
(
x
);
err
=
0
;
err
=
0
;
}
}
...
...
net/xfrm/xfrm_user.c
View file @
c0eea79b
...
@@ -345,7 +345,7 @@ static int xfrm_add_sa(struct sk_buff *skb, struct nlmsghdr *nlh, void **xfrma)
...
@@ -345,7 +345,7 @@ static int xfrm_add_sa(struct sk_buff *skb, struct nlmsghdr *nlh, void **xfrma)
if
(
err
<
0
)
{
if
(
err
<
0
)
{
x
->
km
.
state
=
XFRM_STATE_DEAD
;
x
->
km
.
state
=
XFRM_STATE_DEAD
;
xfrm_state_put
(
x
);
__
xfrm_state_put
(
x
);
goto
out
;
goto
out
;
}
}
...
...
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