diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-08 10:55:01 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-08 10:55:01 -0500 |
commit | d7fc02c7bae7b1cf69269992cf880a43a350cdaa (patch) | |
tree | a43d56fa72913a1cc98a0bbebe054d08581b3a7c /net/unix | |
parent | ee1262dbc65ce0b6234a915d8432171e8d77f518 (diff) | |
parent | 28b4d5cc17c20786848cdc07b7ea237a309776bb (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1815 commits)
mac80211: fix reorder buffer release
iwmc3200wifi: Enable wimax core through module parameter
iwmc3200wifi: Add wifi-wimax coexistence mode as a module parameter
iwmc3200wifi: Coex table command does not expect a response
iwmc3200wifi: Update wiwi priority table
iwlwifi: driver version track kernel version
iwlwifi: indicate uCode type when fail dump error/event log
iwl3945: remove duplicated event logging code
b43: fix two warnings
ipw2100: fix rebooting hang with driver loaded
cfg80211: indent regulatory messages with spaces
iwmc3200wifi: fix NULL pointer dereference in pmkid update
mac80211: Fix TX status reporting for injected data frames
ath9k: enable 2GHz band only if the device supports it
airo: Fix integer overflow warning
rt2x00: Fix padding bug on L2PAD devices.
WE: Fix set events not propagated
b43legacy: avoid PPC fault during resume
b43: avoid PPC fault during resume
tcp: fix a timewait refcnt race
...
Fix up conflicts due to sysctl cleanups (dead sysctl_check code and
CTL_UNNUMBERED removed) in
kernel/sysctl_check.c
net/ipv4/sysctl_net_ipv4.c
net/ipv6/addrconf.c
net/sctp/sysctl.c
Diffstat (limited to 'net/unix')
-rw-r--r-- | net/unix/af_unix.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c index fc820cd75453..f25511903115 100644 --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c | |||
@@ -621,7 +621,8 @@ out: | |||
621 | return sk; | 621 | return sk; |
622 | } | 622 | } |
623 | 623 | ||
624 | static int unix_create(struct net *net, struct socket *sock, int protocol) | 624 | static int unix_create(struct net *net, struct socket *sock, int protocol, |
625 | int kern) | ||
625 | { | 626 | { |
626 | if (protocol && protocol != PF_UNIX) | 627 | if (protocol && protocol != PF_UNIX) |
627 | return -EPROTONOSUPPORT; | 628 | return -EPROTONOSUPPORT; |
@@ -1032,8 +1033,8 @@ static int unix_stream_connect(struct socket *sock, struct sockaddr *uaddr, | |||
1032 | goto out; | 1033 | goto out; |
1033 | addr_len = err; | 1034 | addr_len = err; |
1034 | 1035 | ||
1035 | if (test_bit(SOCK_PASSCRED, &sock->flags) | 1036 | if (test_bit(SOCK_PASSCRED, &sock->flags) && !u->addr && |
1036 | && !u->addr && (err = unix_autobind(sock)) != 0) | 1037 | (err = unix_autobind(sock)) != 0) |
1037 | goto out; | 1038 | goto out; |
1038 | 1039 | ||
1039 | timeo = sock_sndtimeo(sk, flags & O_NONBLOCK); | 1040 | timeo = sock_sndtimeo(sk, flags & O_NONBLOCK); |
@@ -1258,7 +1259,7 @@ static int unix_getname(struct socket *sock, struct sockaddr *uaddr, int *uaddr_ | |||
1258 | { | 1259 | { |
1259 | struct sock *sk = sock->sk; | 1260 | struct sock *sk = sock->sk; |
1260 | struct unix_sock *u; | 1261 | struct unix_sock *u; |
1261 | struct sockaddr_un *sunaddr = (struct sockaddr_un *)uaddr; | 1262 | DECLARE_SOCKADDR(struct sockaddr_un *, sunaddr, uaddr); |
1262 | int err = 0; | 1263 | int err = 0; |
1263 | 1264 | ||
1264 | if (peer) { | 1265 | if (peer) { |
@@ -1377,8 +1378,8 @@ static int unix_dgram_sendmsg(struct kiocb *kiocb, struct socket *sock, | |||
1377 | goto out; | 1378 | goto out; |
1378 | } | 1379 | } |
1379 | 1380 | ||
1380 | if (test_bit(SOCK_PASSCRED, &sock->flags) | 1381 | if (test_bit(SOCK_PASSCRED, &sock->flags) && !u->addr |
1381 | && !u->addr && (err = unix_autobind(sock)) != 0) | 1382 | && (err = unix_autobind(sock)) != 0) |
1382 | goto out; | 1383 | goto out; |
1383 | 1384 | ||
1384 | err = -EMSGSIZE; | 1385 | err = -EMSGSIZE; |
@@ -2216,7 +2217,7 @@ static const struct file_operations unix_seq_fops = { | |||
2216 | 2217 | ||
2217 | #endif | 2218 | #endif |
2218 | 2219 | ||
2219 | static struct net_proto_family unix_family_ops = { | 2220 | static const struct net_proto_family unix_family_ops = { |
2220 | .family = PF_UNIX, | 2221 | .family = PF_UNIX, |
2221 | .create = unix_create, | 2222 | .create = unix_create, |
2222 | .owner = THIS_MODULE, | 2223 | .owner = THIS_MODULE, |