aboutsummaryrefslogtreecommitdiffstats
path: root/net/llc
diff options
context:
space:
mode:
Diffstat (limited to 'net/llc')
-rw-r--r--net/llc/af_llc.c7
-rw-r--r--net/llc/llc_conn.c6
2 files changed, 8 insertions, 5 deletions
diff --git a/net/llc/af_llc.c b/net/llc/af_llc.c
index 6b8a103cf9e6..b48244156e75 100644
--- a/net/llc/af_llc.c
+++ b/net/llc/af_llc.c
@@ -150,14 +150,17 @@ static struct proto llc_proto = {
150 * socket type we have available. 150 * socket type we have available.
151 * Returns 0 upon success, negative upon failure. 151 * Returns 0 upon success, negative upon failure.
152 */ 152 */
153static int llc_ui_create(struct socket *sock, int protocol) 153static int llc_ui_create(struct net *net, struct socket *sock, int protocol)
154{ 154{
155 struct sock *sk; 155 struct sock *sk;
156 int rc = -ESOCKTNOSUPPORT; 156 int rc = -ESOCKTNOSUPPORT;
157 157
158 if (net != &init_net)
159 return -EAFNOSUPPORT;
160
158 if (likely(sock->type == SOCK_DGRAM || sock->type == SOCK_STREAM)) { 161 if (likely(sock->type == SOCK_DGRAM || sock->type == SOCK_STREAM)) {
159 rc = -ENOMEM; 162 rc = -ENOMEM;
160 sk = llc_sk_alloc(PF_LLC, GFP_KERNEL, &llc_proto); 163 sk = llc_sk_alloc(net, PF_LLC, GFP_KERNEL, &llc_proto);
161 if (sk) { 164 if (sk) {
162 rc = 0; 165 rc = 0;
163 llc_ui_sk_init(sock, sk); 166 llc_ui_sk_init(sock, sk);
diff --git a/net/llc/llc_conn.c b/net/llc/llc_conn.c
index 3b8cfbe029a7..8ebc2769dfda 100644
--- a/net/llc/llc_conn.c
+++ b/net/llc/llc_conn.c
@@ -700,7 +700,7 @@ static struct sock *llc_create_incoming_sock(struct sock *sk,
700 struct llc_addr *saddr, 700 struct llc_addr *saddr,
701 struct llc_addr *daddr) 701 struct llc_addr *daddr)
702{ 702{
703 struct sock *newsk = llc_sk_alloc(sk->sk_family, GFP_ATOMIC, 703 struct sock *newsk = llc_sk_alloc(sk->sk_net, sk->sk_family, GFP_ATOMIC,
704 sk->sk_prot); 704 sk->sk_prot);
705 struct llc_sock *newllc, *llc = llc_sk(sk); 705 struct llc_sock *newllc, *llc = llc_sk(sk);
706 706
@@ -867,9 +867,9 @@ static void llc_sk_init(struct sock* sk)
867 * Allocates a LLC sock and initializes it. Returns the new LLC sock 867 * Allocates a LLC sock and initializes it. Returns the new LLC sock
868 * or %NULL if there's no memory available for one 868 * or %NULL if there's no memory available for one
869 */ 869 */
870struct sock *llc_sk_alloc(int family, gfp_t priority, struct proto *prot) 870struct sock *llc_sk_alloc(struct net *net, int family, gfp_t priority, struct proto *prot)
871{ 871{
872 struct sock *sk = sk_alloc(family, priority, prot, 1); 872 struct sock *sk = sk_alloc(net, family, priority, prot, 1);
873 873
874 if (!sk) 874 if (!sk)
875 goto out; 875 goto out;