diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-25 11:39:20 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-25 11:39:20 -0500 |
commit | b55813a2e50088ca30df33fa62aeed5d3adb1796 (patch) | |
tree | be50fe404e94869fe854766e190a5753dbc7dd49 /net/core | |
parent | 368d17e068f691dba5a4f122c271db5ec9b2ebd6 (diff) | |
parent | 9e19bb6d7a0959f5028d46e1ab99c50f0d36eda8 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
[NETFILTER] x_table.c: sem2mutex
[IPV4]: Aggregate route entries with different TOS values
[TCP]: Mark tcp_*mem[] __read_mostly.
[TCP]: Set default max buffers from memory pool size
[SCTP]: Fix up sctp_rcv return value
[NET]: Take RTNL when unregistering notifier
[WIRELESS]: Fix config dependencies.
[NET]: Fill in a 32-bit hole in struct sock on 64-bit platforms.
[NET]: Ensure device name passed to SO_BINDTODEVICE is NULL terminated.
[MODULES]: Don't allow statically declared exports
[BRIDGE]: Unaligned accesses in the ethernet bridge
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/dev.c | 7 | ||||
-rw-r--r-- | net/core/sock.c | 5 |
2 files changed, 9 insertions, 3 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 08dec6eb922b..e0489ca731c5 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
@@ -977,7 +977,12 @@ int register_netdevice_notifier(struct notifier_block *nb) | |||
977 | 977 | ||
978 | int unregister_netdevice_notifier(struct notifier_block *nb) | 978 | int unregister_netdevice_notifier(struct notifier_block *nb) |
979 | { | 979 | { |
980 | return notifier_chain_unregister(&netdev_chain, nb); | 980 | int err; |
981 | |||
982 | rtnl_lock(); | ||
983 | err = notifier_chain_unregister(&netdev_chain, nb); | ||
984 | rtnl_unlock(); | ||
985 | return err; | ||
981 | } | 986 | } |
982 | 987 | ||
983 | /** | 988 | /** |
diff --git a/net/core/sock.c b/net/core/sock.c index 1a7e6eac90b0..e110b9004147 100644 --- a/net/core/sock.c +++ b/net/core/sock.c | |||
@@ -404,8 +404,9 @@ set_rcvbuf: | |||
404 | if (!valbool) { | 404 | if (!valbool) { |
405 | sk->sk_bound_dev_if = 0; | 405 | sk->sk_bound_dev_if = 0; |
406 | } else { | 406 | } else { |
407 | if (optlen > IFNAMSIZ) | 407 | if (optlen > IFNAMSIZ - 1) |
408 | optlen = IFNAMSIZ; | 408 | optlen = IFNAMSIZ - 1; |
409 | memset(devname, 0, sizeof(devname)); | ||
409 | if (copy_from_user(devname, optval, optlen)) { | 410 | if (copy_from_user(devname, optval, optlen)) { |
410 | ret = -EFAULT; | 411 | ret = -EFAULT; |
411 | break; | 412 | break; |