aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/sock.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/core/sock.c')
-rw-r--r--net/core/sock.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/net/core/sock.c b/net/core/sock.c
index 5c5af9988f94..02f8dfe320b7 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -1171,13 +1171,10 @@ EXPORT_SYMBOL(sock_update_classid);
1171 1171
1172void sock_update_netprioidx(struct sock *sk) 1172void sock_update_netprioidx(struct sock *sk)
1173{ 1173{
1174 struct cgroup_netprio_state *state;
1175 if (in_interrupt()) 1174 if (in_interrupt())
1176 return; 1175 return;
1177 rcu_read_lock(); 1176
1178 state = task_netprio_state(current); 1177 sk->sk_cgrp_prioidx = task_netprioidx(current);
1179 sk->sk_cgrp_prioidx = state ? state->prioidx : 0;
1180 rcu_read_unlock();
1181} 1178}
1182EXPORT_SYMBOL_GPL(sock_update_netprioidx); 1179EXPORT_SYMBOL_GPL(sock_update_netprioidx);
1183#endif 1180#endif
@@ -1827,7 +1824,7 @@ suppress_allocation:
1827 /* Alas. Undo changes. */ 1824 /* Alas. Undo changes. */
1828 sk->sk_forward_alloc -= amt * SK_MEM_QUANTUM; 1825 sk->sk_forward_alloc -= amt * SK_MEM_QUANTUM;
1829 1826
1830 sk_memory_allocated_sub(sk, amt, parent_status); 1827 sk_memory_allocated_sub(sk, amt);
1831 1828
1832 return 0; 1829 return 0;
1833} 1830}
@@ -1840,7 +1837,7 @@ EXPORT_SYMBOL(__sk_mem_schedule);
1840void __sk_mem_reclaim(struct sock *sk) 1837void __sk_mem_reclaim(struct sock *sk)
1841{ 1838{
1842 sk_memory_allocated_sub(sk, 1839 sk_memory_allocated_sub(sk,
1843 sk->sk_forward_alloc >> SK_MEM_QUANTUM_SHIFT, 0); 1840 sk->sk_forward_alloc >> SK_MEM_QUANTUM_SHIFT);
1844 sk->sk_forward_alloc &= SK_MEM_QUANTUM - 1; 1841 sk->sk_forward_alloc &= SK_MEM_QUANTUM - 1;
1845 1842
1846 if (sk_under_memory_pressure(sk) && 1843 if (sk_under_memory_pressure(sk) &&