aboutsummaryrefslogtreecommitdiffstats
path: root/net/core
diff options
context:
space:
mode:
Diffstat (limited to 'net/core')
-rw-r--r--net/core/dev.c3
-rw-r--r--net/core/filter.c2
-rw-r--r--net/core/skmsg.c3
-rw-r--r--net/core/sock.c2
4 files changed, 7 insertions, 3 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index 82f20022259d..8e276e0192a1 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -8712,6 +8712,9 @@ int init_dummy_netdev(struct net_device *dev)
8712 set_bit(__LINK_STATE_PRESENT, &dev->state); 8712 set_bit(__LINK_STATE_PRESENT, &dev->state);
8713 set_bit(__LINK_STATE_START, &dev->state); 8713 set_bit(__LINK_STATE_START, &dev->state);
8714 8714
8715 /* napi_busy_loop stats accounting wants this */
8716 dev_net_set(dev, &init_net);
8717
8715 /* Note : We dont allocate pcpu_refcnt for dummy devices, 8718 /* Note : We dont allocate pcpu_refcnt for dummy devices,
8716 * because users of this 'device' dont need to change 8719 * because users of this 'device' dont need to change
8717 * its refcount. 8720 * its refcount.
diff --git a/net/core/filter.c b/net/core/filter.c
index 7559d6835ecb..7a54dc11ac2d 100644
--- a/net/core/filter.c
+++ b/net/core/filter.c
@@ -4112,10 +4112,12 @@ BPF_CALL_5(bpf_setsockopt, struct bpf_sock_ops_kern *, bpf_sock,
4112 /* Only some socketops are supported */ 4112 /* Only some socketops are supported */
4113 switch (optname) { 4113 switch (optname) {
4114 case SO_RCVBUF: 4114 case SO_RCVBUF:
4115 val = min_t(u32, val, sysctl_rmem_max);
4115 sk->sk_userlocks |= SOCK_RCVBUF_LOCK; 4116 sk->sk_userlocks |= SOCK_RCVBUF_LOCK;
4116 sk->sk_rcvbuf = max_t(int, val * 2, SOCK_MIN_RCVBUF); 4117 sk->sk_rcvbuf = max_t(int, val * 2, SOCK_MIN_RCVBUF);
4117 break; 4118 break;
4118 case SO_SNDBUF: 4119 case SO_SNDBUF:
4120 val = min_t(u32, val, sysctl_wmem_max);
4119 sk->sk_userlocks |= SOCK_SNDBUF_LOCK; 4121 sk->sk_userlocks |= SOCK_SNDBUF_LOCK;
4120 sk->sk_sndbuf = max_t(int, val * 2, SOCK_MIN_SNDBUF); 4122 sk->sk_sndbuf = max_t(int, val * 2, SOCK_MIN_SNDBUF);
4121 break; 4123 break;
diff --git a/net/core/skmsg.c b/net/core/skmsg.c
index d6d5c20d7044..8c826603bf36 100644
--- a/net/core/skmsg.c
+++ b/net/core/skmsg.c
@@ -545,8 +545,7 @@ static void sk_psock_destroy_deferred(struct work_struct *gc)
545 struct sk_psock *psock = container_of(gc, struct sk_psock, gc); 545 struct sk_psock *psock = container_of(gc, struct sk_psock, gc);
546 546
547 /* No sk_callback_lock since already detached. */ 547 /* No sk_callback_lock since already detached. */
548 if (psock->parser.enabled) 548 strp_done(&psock->parser.strp);
549 strp_done(&psock->parser.strp);
550 549
551 cancel_work_sync(&psock->work); 550 cancel_work_sync(&psock->work);
552 551
diff --git a/net/core/sock.c b/net/core/sock.c
index 6aa2e7e0b4fb..bc3512f230a3 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -2380,7 +2380,7 @@ int __sk_mem_raise_allocated(struct sock *sk, int size, int amt, int kind)
2380 } 2380 }
2381 2381
2382 if (sk_has_memory_pressure(sk)) { 2382 if (sk_has_memory_pressure(sk)) {
2383 int alloc; 2383 u64 alloc;
2384 2384
2385 if (!sk_under_memory_pressure(sk)) 2385 if (!sk_under_memory_pressure(sk))
2386 return 1; 2386 return 1;