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
Kirill Smelkov
linux
Commits
a25606c8
Commit
a25606c8
authored
Mar 21, 2008
by
David S. Miller
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
parents
938b93ad
94833dfb
Changes
14
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
152 additions
and
76 deletions
+152
-76
MAINTAINERS
MAINTAINERS
+1
-1
drivers/net/ifb.c
drivers/net/ifb.c
+15
-0
drivers/net/tg3.c
drivers/net/tg3.c
+3
-3
fs/proc/base.c
fs/proc/base.c
+1
-1
include/net/sctp/sctp.h
include/net/sctp/sctp.h
+8
-4
kernel/audit.c
kernel/audit.c
+8
-3
net/bridge/br_fdb.c
net/bridge/br_fdb.c
+1
-1
net/core/netpoll.c
net/core/netpoll.c
+4
-2
net/ipv4/netfilter/ipt_recent.c
net/ipv4/netfilter/ipt_recent.c
+2
-0
net/ipv4/tcp_output.c
net/ipv4/tcp_output.c
+1
-1
net/ipv6/Kconfig
net/ipv6/Kconfig
+3
-2
net/netfilter/nf_conntrack_h323_main.c
net/netfilter/nf_conntrack_h323_main.c
+1
-1
net/sctp/ipv6.c
net/sctp/ipv6.c
+20
-12
net/sctp/protocol.c
net/sctp/protocol.c
+84
-45
No files found.
MAINTAINERS
View file @
a25606c8
...
...
@@ -871,7 +871,7 @@ P: Marcel Holtmann
M: marcel@holtmann.org
P: Maxim Krasnyansky
M: maxk@qualcomm.com
L:
bluez-devel@lists.sf.net
L:
linux-bluetooth@vger.kernel.org
W: http://bluez.sf.net
W: http://www.bluez.org
W: http://www.holtmann.org/linux/bluetooth/
...
...
drivers/net/ifb.c
View file @
a25606c8
...
...
@@ -35,6 +35,7 @@
#include <linux/moduleparam.h>
#include <net/pkt_sched.h>
#include <net/net_namespace.h>
#include <linux/lockdep.h>
#define TX_TIMEOUT (2*HZ)
...
...
@@ -227,6 +228,16 @@ static struct rtnl_link_ops ifb_link_ops __read_mostly = {
module_param
(
numifbs
,
int
,
0
);
MODULE_PARM_DESC
(
numifbs
,
"Number of ifb devices"
);
/*
* dev_ifb->queue_lock is usually taken after dev->ingress_lock,
* reversely to e.g. qdisc_lock_tree(). It should be safe until
* ifb doesn't take dev->queue_lock with dev_ifb->ingress_lock.
* But lockdep should know that ifb has different locks from dev.
*/
static
struct
lock_class_key
ifb_queue_lock_key
;
static
struct
lock_class_key
ifb_ingress_lock_key
;
static
int
__init
ifb_init_one
(
int
index
)
{
struct
net_device
*
dev_ifb
;
...
...
@@ -246,6 +257,10 @@ static int __init ifb_init_one(int index)
err
=
register_netdevice
(
dev_ifb
);
if
(
err
<
0
)
goto
err
;
lockdep_set_class
(
&
dev_ifb
->
queue_lock
,
&
ifb_queue_lock_key
);
lockdep_set_class
(
&
dev_ifb
->
ingress_lock
,
&
ifb_ingress_lock_key
);
return
0
;
err:
...
...
drivers/net/tg3.c
View file @
a25606c8
...
...
@@ -64,8 +64,8 @@
#define DRV_MODULE_NAME "tg3"
#define PFX DRV_MODULE_NAME ": "
#define DRV_MODULE_VERSION "3.8
7
"
#define DRV_MODULE_RELDATE "
December 20, 2007
"
#define DRV_MODULE_VERSION "3.8
8
"
#define DRV_MODULE_RELDATE "
March 20, 2008
"
#define TG3_DEF_MAC_MODE 0
#define TG3_DEF_RX_MODE 0
...
...
@@ -11841,7 +11841,7 @@ static int __devinit tg3_get_device_address(struct tg3 *tp)
}
if
(
!
is_valid_ether_addr
(
&
dev
->
dev_addr
[
0
]))
{
#ifdef CONFIG_SPARC
64
#ifdef CONFIG_SPARC
if
(
!
tg3_get_default_macaddr_sparc
(
tp
))
return
0
;
#endif
...
...
fs/proc/base.c
View file @
a25606c8
...
...
@@ -2270,7 +2270,7 @@ static const struct pid_entry tgid_base_stuff[] = {
DIR
(
"fd"
,
S_IRUSR
|
S_IXUSR
,
fd
),
DIR
(
"fdinfo"
,
S_IRUSR
|
S_IXUSR
,
fdinfo
),
#ifdef CONFIG_NET
DIR
(
"net"
,
S_IRUGO
|
S_IXU
SR
,
net
),
DIR
(
"net"
,
S_IRUGO
|
S_IXU
GO
,
net
),
#endif
REG
(
"environ"
,
S_IRUSR
,
environ
),
INF
(
"auxv"
,
S_IRUSR
,
pid_auxv
),
...
...
include/net/sctp/sctp.h
View file @
a25606c8
...
...
@@ -375,15 +375,19 @@ static inline void sctp_sysctl_unregister(void) { return; }
#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
int
sctp_v6_init
(
void
);
void
sctp_v6_exit
(
void
);
void
sctp_v6_pf_init
(
void
);
void
sctp_v6_pf_exit
(
void
);
int
sctp_v6_protosw_init
(
void
);
void
sctp_v6_protosw_exit
(
void
);
int
sctp_v6_add_protocol
(
void
);
void
sctp_v6_del_protocol
(
void
);
#else
/* #ifdef defined(CONFIG_IPV6) */
static
inline
int
sctp_v6_init
(
void
)
{
return
0
;
}
static
inline
void
sctp_v6_exit
(
void
)
{
return
;
}
static
inline
void
sctp_v6_pf_init
(
void
)
{
return
0
;
}
static
inline
void
sctp_v6_pf_exit
(
void
)
{
return
;
}
static
inline
int
sctp_v6_protosw_init
(
void
)
{
return
0
;
}
static
inline
void
sctp_v6_protosw_exit
(
void
)
{
return
;
}
static
inline
int
sctp_v6_add_protocol
(
void
)
{
return
0
;
}
static
inline
void
sctp_v6_del_protocol
(
void
)
{
return
;
}
...
...
kernel/audit.c
View file @
a25606c8
...
...
@@ -78,9 +78,13 @@ static int audit_default;
/* If auditing cannot proceed, audit_failure selects what happens. */
static
int
audit_failure
=
AUDIT_FAIL_PRINTK
;
/* If audit records are to be written to the netlink socket, audit_pid
* contains the (non-zero) pid. */
/*
* If audit records are to be written to the netlink socket, audit_pid
* contains the pid of the auditd process and audit_nlk_pid contains
* the pid to use to send netlink messages to that process.
*/
int
audit_pid
;
static
int
audit_nlk_pid
;
/* If audit_rate_limit is non-zero, limit the rate of sending audit records
* to that number per second. This prevents DoS attacks, but results in
...
...
@@ -350,7 +354,7 @@ static int kauditd_thread(void *dummy)
wake_up
(
&
audit_backlog_wait
);
if
(
skb
)
{
if
(
audit_pid
)
{
int
err
=
netlink_unicast
(
audit_sock
,
skb
,
audit_pid
,
0
);
int
err
=
netlink_unicast
(
audit_sock
,
skb
,
audit_
nlk_
pid
,
0
);
if
(
err
<
0
)
{
BUG_ON
(
err
!=
-
ECONNREFUSED
);
/* Shoudn't happen */
printk
(
KERN_ERR
"audit: *NO* daemon at audit_pid=%d
\n
"
,
audit_pid
);
...
...
@@ -626,6 +630,7 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
sid
,
1
);
audit_pid
=
new_pid
;
audit_nlk_pid
=
NETLINK_CB
(
skb
).
pid
;
}
if
(
status_get
->
mask
&
AUDIT_STATUS_RATE_LIMIT
)
err
=
audit_set_rate_limit
(
status_get
->
rate_limit
,
...
...
net/bridge/br_fdb.c
View file @
a25606c8
...
...
@@ -136,7 +136,7 @@ void br_fdb_cleanup(unsigned long _data)
this_timer
=
f
->
ageing_timer
+
delay
;
if
(
time_before_eq
(
this_timer
,
jiffies
))
fdb_delete
(
f
);
else
if
(
t
his_timer
<
next_timer
)
else
if
(
t
ime_before
(
this_timer
,
next_timer
)
)
next_timer
=
this_timer
;
}
}
...
...
net/core/netpoll.c
View file @
a25606c8
...
...
@@ -215,12 +215,14 @@ static void zap_completion_queue(void)
while
(
clist
!=
NULL
)
{
struct
sk_buff
*
skb
=
clist
;
clist
=
clist
->
next
;
if
(
skb
->
destructor
)
if
(
skb
->
destructor
)
{
atomic_inc
(
&
skb
->
users
);
dev_kfree_skb_any
(
skb
);
/* put this one back */
else
}
else
{
__kfree_skb
(
skb
);
}
}
}
put_cpu_var
(
softnet_data
);
}
...
...
net/ipv4/netfilter/ipt_recent.c
View file @
a25606c8
...
...
@@ -252,6 +252,8 @@ recent_mt_check(const char *tablename, const void *ip,
if
((
info
->
check_set
&
(
IPT_RECENT_SET
|
IPT_RECENT_REMOVE
))
&&
(
info
->
seconds
||
info
->
hit_count
))
return
false
;
if
(
info
->
hit_count
>
ip_pkt_list_tot
)
return
false
;
if
(
info
->
name
[
0
]
==
'\0'
||
strnlen
(
info
->
name
,
IPT_RECENT_NAME_LEN
)
==
IPT_RECENT_NAME_LEN
)
return
false
;
...
...
net/ipv4/tcp_output.c
View file @
a25606c8
...
...
@@ -255,7 +255,7 @@ static u16 tcp_select_window(struct sock *sk)
*
* Relax Will Robinson.
*/
new_win
=
cur_win
;
new_win
=
ALIGN
(
cur_win
,
1
<<
tp
->
rx_opt
.
rcv_wscale
)
;
}
tp
->
rcv_wnd
=
new_win
;
tp
->
rcv_wup
=
tp
->
rcv_nxt
;
...
...
net/ipv6/Kconfig
View file @
a25606c8
...
...
@@ -179,11 +179,12 @@ config IPV6_SIT
Saying M here will produce a module called sit.ko. If unsure, say Y.
config IPV6_TUNNEL
tristate "IPv6: IP
v6-in-IPv6 tunnel
"
tristate "IPv6: IP
-in-IPv6 tunnel (RFC2473)
"
select INET6_TUNNEL
depends on IPV6
---help---
Support for IPv6-in-IPv6 tunnels described in RFC 2473.
Support for IPv6-in-IPv6 and IPv4-in-IPv6 tunnels described in
RFC 2473.
If unsure, say N.
...
...
net/netfilter/nf_conntrack_h323_main.c
View file @
a25606c8
...
...
@@ -842,7 +842,7 @@ static int process_setup(struct sk_buff *skb, struct nf_conn *ct,
set_h225_addr
=
rcu_dereference
(
set_h225_addr_hook
);
if
((
setup
->
options
&
eSetup_UUIE_destCallSignalAddress
)
&&
(
set_h225_addr
)
&&
ct
->
status
&
&
IPS_NAT_MASK
&&
(
set_h225_addr
)
&&
ct
->
status
&
IPS_NAT_MASK
&&
get_h225_addr
(
ct
,
*
data
,
&
setup
->
destCallSignalAddress
,
&
addr
,
&
port
)
&&
memcmp
(
&
addr
,
&
ct
->
tuplehash
[
!
dir
].
tuple
.
src
.
u3
,
sizeof
(
addr
)))
{
...
...
net/sctp/ipv6.c
View file @
a25606c8
...
...
@@ -1015,15 +1015,24 @@ static struct sctp_pf sctp_pf_inet6 = {
};
/* Initialize IPv6 support and register with socket layer. */
int
sctp_v6
_init
(
void
)
void
sctp_v6_pf
_init
(
void
)
{
int
rc
;
/* Register the SCTP specific PF_INET6 functions. */
sctp_register_pf
(
&
sctp_pf_inet6
,
PF_INET6
);
/* Register the SCTP specific AF_INET6 functions. */
sctp_register_af
(
&
sctp_af_inet6
);
}
void
sctp_v6_pf_exit
(
void
)
{
list_del
(
&
sctp_af_inet6
.
list
);
}
/* Initialize IPv6 support and register with socket layer. */
int
sctp_v6_protosw_init
(
void
)
{
int
rc
;
rc
=
proto_register
(
&
sctpv6_prot
,
1
);
if
(
rc
)
...
...
@@ -1036,6 +1045,14 @@ int sctp_v6_init(void)
return
0
;
}
void
sctp_v6_protosw_exit
(
void
)
{
inet6_unregister_protosw
(
&
sctpv6_seqpacket_protosw
);
inet6_unregister_protosw
(
&
sctpv6_stream_protosw
);
proto_unregister
(
&
sctpv6_prot
);
}
/* Register with inet6 layer. */
int
sctp_v6_add_protocol
(
void
)
{
...
...
@@ -1048,15 +1065,6 @@ int sctp_v6_add_protocol(void)
return
0
;
}
/* IPv6 specific exit support. */
void
sctp_v6_exit
(
void
)
{
inet6_unregister_protosw
(
&
sctpv6_seqpacket_protosw
);
inet6_unregister_protosw
(
&
sctpv6_stream_protosw
);
proto_unregister
(
&
sctpv6_prot
);
list_del
(
&
sctp_af_inet6
.
list
);
}
/* Unregister with inet6 layer. */
void
sctp_v6_del_protocol
(
void
)
{
...
...
net/sctp/protocol.c
View file @
a25606c8
...
...
@@ -995,6 +995,58 @@ static void cleanup_sctp_mibs(void)
free_percpu
(
sctp_statistics
[
1
]);
}
static
void
sctp_v4_pf_init
(
void
)
{
/* Initialize the SCTP specific PF functions. */
sctp_register_pf
(
&
sctp_pf_inet
,
PF_INET
);
sctp_register_af
(
&
sctp_af_inet
);
}
static
void
sctp_v4_pf_exit
(
void
)
{
list_del
(
&
sctp_af_inet
.
list
);
}
static
int
sctp_v4_protosw_init
(
void
)
{
int
rc
;
rc
=
proto_register
(
&
sctp_prot
,
1
);
if
(
rc
)
return
rc
;
/* Register SCTP(UDP and TCP style) with socket layer. */
inet_register_protosw
(
&
sctp_seqpacket_protosw
);
inet_register_protosw
(
&
sctp_stream_protosw
);
return
0
;
}
static
void
sctp_v4_protosw_exit
(
void
)
{
inet_unregister_protosw
(
&
sctp_stream_protosw
);
inet_unregister_protosw
(
&
sctp_seqpacket_protosw
);
proto_unregister
(
&
sctp_prot
);
}
static
int
sctp_v4_add_protocol
(
void
)
{
/* Register notifier for inet address additions/deletions. */
register_inetaddr_notifier
(
&
sctp_inetaddr_notifier
);
/* Register SCTP with inet layer. */
if
(
inet_add_protocol
(
&
sctp_protocol
,
IPPROTO_SCTP
)
<
0
)
return
-
EAGAIN
;
return
0
;
}
static
void
sctp_v4_del_protocol
(
void
)
{
inet_del_protocol
(
&
sctp_protocol
,
IPPROTO_SCTP
);
unregister_inetaddr_notifier
(
&
sctp_inetaddr_notifier
);
}
/* Initialize the universe into something sensible. */
SCTP_STATIC
__init
int
sctp_init
(
void
)
{
...
...
@@ -1038,8 +1090,6 @@ SCTP_STATIC __init int sctp_init(void)
/* Initialize object count debugging. */
sctp_dbg_objcnt_init
();
/* Initialize the SCTP specific PF functions. */
sctp_register_pf
(
&
sctp_pf_inet
,
PF_INET
);
/*
* 14. Suggested SCTP Protocol Parameter Values
*/
...
...
@@ -1197,19 +1247,22 @@ SCTP_STATIC __init int sctp_init(void)
sctp_sysctl_register
();
INIT_LIST_HEAD
(
&
sctp_address_families
);
sctp_register_af
(
&
sctp_af_inet
);
sctp_v4_pf_init
();
sctp_v6_pf_init
();
status
=
proto_register
(
&
sctp_prot
,
1
);
if
(
status
)
goto
err_proto_register
;
/* Initialize the local address list. */
INIT_LIST_HEAD
(
&
sctp_local_addr_list
);
spin_lock_init
(
&
sctp_local_addr_lock
);
sctp_get_local_addr_list
();
/* Register SCTP(UDP and TCP style) with socket layer. */
inet_register_protosw
(
&
sctp_seqpacket_protosw
);
inet_register_protosw
(
&
sctp_stream_protosw
);
status
=
sctp_v4_protosw_init
();
status
=
sctp_v6_init
();
if
(
status
)
goto
err_v6_init
;
goto
err_protosw_init
;
status
=
sctp_v6_protosw_init
();
if
(
status
)
goto
err_v6_protosw_init
;
/* Initialize the control inode/socket for handling OOTB packets. */
if
((
status
=
sctp_ctl_sock_init
()))
{
...
...
@@ -1218,19 +1271,9 @@ SCTP_STATIC __init int sctp_init(void)
goto
err_ctl_sock_init
;
}
/* Initialize the local address list. */
INIT_LIST_HEAD
(
&
sctp_local_addr_list
);
spin_lock_init
(
&
sctp_local_addr_lock
);
sctp_get_local_addr_list
();
/* Register notifier for inet address additions/deletions. */
register_inetaddr_notifier
(
&
sctp_inetaddr_notifier
);
/* Register SCTP with inet layer. */
if
(
inet_add_protocol
(
&
sctp_protocol
,
IPPROTO_SCTP
)
<
0
)
{
status
=
-
EAGAIN
;
status
=
sctp_v4_add_protocol
();
if
(
status
)
goto
err_add_protocol
;
}
/* Register SCTP with inet6 layer. */
status
=
sctp_v6_add_protocol
();
...
...
@@ -1241,18 +1284,18 @@ SCTP_STATIC __init int sctp_init(void)
out:
return
status
;
err_v6_add_protocol:
inet_del_protocol
(
&
sctp_protocol
,
IPPROTO_SCTP
);
unregister_inetaddr_notifier
(
&
sctp_inetaddr_notifier
);
sctp_v6_del_protocol
();
err_add_protocol:
sctp_
free_local_addr_list
();
sctp_
v4_del_protocol
();
sock_release
(
sctp_ctl_socket
);
err_ctl_sock_init:
sctp_v6_exit
();
err_v6_init:
inet_unregister_protosw
(
&
sctp_stream_protosw
);
inet_unregister_protosw
(
&
sctp_seqpacket_protosw
);
proto_unregister
(
&
sctp_prot
);
err_proto_register:
sctp_v6_protosw_exit
();
err_v6_protosw_init:
sctp_v4_protosw_exit
();
err_protosw_init:
sctp_free_local_addr_list
();
sctp_v4_pf_exit
();
sctp_v6_pf_exit
();
sctp_sysctl_unregister
();
list_del
(
&
sctp_af_inet
.
list
);
free_pages
((
unsigned
long
)
sctp_port_hashtable
,
...
...
@@ -1285,23 +1328,21 @@ SCTP_STATIC __exit void sctp_exit(void)
/* Unregister with inet6/inet layers. */
sctp_v6_del_protocol
();
inet_del_protocol
(
&
sctp_protocol
,
IPPROTO_SCTP
);
/* Unregister notifier for inet address additions/deletions. */
unregister_inetaddr_notifier
(
&
sctp_inetaddr_notifier
);
/* Free the local address list. */
sctp_free_local_addr_list
();
sctp_v4_del_protocol
();
/* Free the control endpoint. */
sock_release
(
sctp_ctl_socket
);
/* Cleanup v6 initializations. */
sctp_v6_exit
();
/* Free protosw registrations */
sctp_v6_protosw_exit
();
sctp_v4_protosw_exit
();
/* Free the local address list. */
sctp_free_local_addr_list
();
/* Unregister with socket layer. */
inet_unregister_protosw
(
&
sctp_stream_protosw
);
inet_unregister_protosw
(
&
sctp_seqpacket_protosw
);
sctp_v6_pf_exit
(
);
sctp_v4_pf_exit
(
);
sctp_sysctl_unregister
();
list_del
(
&
sctp_af_inet
.
list
);
...
...
@@ -1320,8 +1361,6 @@ SCTP_STATIC __exit void sctp_exit(void)
kmem_cache_destroy
(
sctp_chunk_cachep
);
kmem_cache_destroy
(
sctp_bucket_cachep
);
proto_unregister
(
&
sctp_prot
);
}
module_init
(
sctp_init
);
...
...
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