aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/net/sock.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/net/sock.h b/include/net/sock.h
index 11ccde65c4cf..bfa7d20e6646 100644
--- a/include/net/sock.h
+++ b/include/net/sock.h
@@ -621,6 +621,7 @@ enum sock_flags {
621 SOCK_RCVTSTAMPNS, /* %SO_TIMESTAMPNS setting */ 621 SOCK_RCVTSTAMPNS, /* %SO_TIMESTAMPNS setting */
622 SOCK_LOCALROUTE, /* route locally only, %SO_DONTROUTE setting */ 622 SOCK_LOCALROUTE, /* route locally only, %SO_DONTROUTE setting */
623 SOCK_QUEUE_SHRUNK, /* write queue has been shrunk recently */ 623 SOCK_QUEUE_SHRUNK, /* write queue has been shrunk recently */
624 SOCK_MEMALLOC, /* VM depends on this socket for swapping */
624 SOCK_TIMESTAMPING_TX_HARDWARE, /* %SOF_TIMESTAMPING_TX_HARDWARE */ 625 SOCK_TIMESTAMPING_TX_HARDWARE, /* %SOF_TIMESTAMPING_TX_HARDWARE */
625 SOCK_TIMESTAMPING_TX_SOFTWARE, /* %SOF_TIMESTAMPING_TX_SOFTWARE */ 626 SOCK_TIMESTAMPING_TX_SOFTWARE, /* %SOF_TIMESTAMPING_TX_SOFTWARE */
626 SOCK_TIMESTAMPING_RX_HARDWARE, /* %SOF_TIMESTAMPING_RX_HARDWARE */ 627 SOCK_TIMESTAMPING_RX_HARDWARE, /* %SOF_TIMESTAMPING_RX_HARDWARE */
@@ -660,7 +661,7 @@ static inline bool sock_flag(const struct sock *sk, enum sock_flags flag)
660 661
661static inline gfp_t sk_gfp_atomic(struct sock *sk, gfp_t gfp_mask) 662static inline gfp_t sk_gfp_atomic(struct sock *sk, gfp_t gfp_mask)
662{ 663{
663 return GFP_ATOMIC; 664 return GFP_ATOMIC | (sk->sk_allocation & __GFP_MEMALLOC);
664} 665}
665 666
666static inline void sk_acceptq_removed(struct sock *sk) 667static inline void sk_acceptq_removed(struct sock *sk)
@@ -803,6 +804,8 @@ extern int sk_stream_wait_memory(struct sock *sk, long *timeo_p);
803extern void sk_stream_wait_close(struct sock *sk, long timeo_p); 804extern void sk_stream_wait_close(struct sock *sk, long timeo_p);
804extern int sk_stream_error(struct sock *sk, int flags, int err); 805extern int sk_stream_error(struct sock *sk, int flags, int err);
805extern void sk_stream_kill_queues(struct sock *sk); 806extern void sk_stream_kill_queues(struct sock *sk);
807extern void sk_set_memalloc(struct sock *sk);
808extern void sk_clear_memalloc(struct sock *sk);
806 809
807extern int sk_wait_data(struct sock *sk, long *timeo); 810extern int sk_wait_data(struct sock *sk, long *timeo);
808 811