diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/net/sock.h | 5 |
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 | ||
661 | static inline gfp_t sk_gfp_atomic(struct sock *sk, gfp_t gfp_mask) | 662 | static 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 | ||
666 | static inline void sk_acceptq_removed(struct sock *sk) | 667 | static inline void sk_acceptq_removed(struct sock *sk) |
@@ -803,6 +804,8 @@ extern int sk_stream_wait_memory(struct sock *sk, long *timeo_p); | |||
803 | extern void sk_stream_wait_close(struct sock *sk, long timeo_p); | 804 | extern void sk_stream_wait_close(struct sock *sk, long timeo_p); |
804 | extern int sk_stream_error(struct sock *sk, int flags, int err); | 805 | extern int sk_stream_error(struct sock *sk, int flags, int err); |
805 | extern void sk_stream_kill_queues(struct sock *sk); | 806 | extern void sk_stream_kill_queues(struct sock *sk); |
807 | extern void sk_set_memalloc(struct sock *sk); | ||
808 | extern void sk_clear_memalloc(struct sock *sk); | ||
806 | 809 | ||
807 | extern int sk_wait_data(struct sock *sk, long *timeo); | 810 | extern int sk_wait_data(struct sock *sk, long *timeo); |
808 | 811 | ||