mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-01 00:58:39 +02:00 
			
		
		
		
	net: Rename ->stream_memory_read to ->sock_is_readable
The proto ops ->stream_memory_read() is currently only used by TCP to check whether psock queue is empty or not. We need to rename it before reusing it for non-TCP protocols, and adjust the exsiting users accordingly. Signed-off-by: Cong Wang <cong.wang@bytedance.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Link: https://lore.kernel.org/bpf/20211008203306.37525-2-xiyou.wangcong@gmail.com
This commit is contained in:
		
							parent
							
								
									cd9733f5d7
								
							
						
					
					
						commit
						7b50ecfcc6
					
				
					 6 changed files with 14 additions and 11 deletions
				
			
		|  | @ -1208,7 +1208,7 @@ struct proto { | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| 	bool			(*stream_memory_free)(const struct sock *sk, int wake); | 	bool			(*stream_memory_free)(const struct sock *sk, int wake); | ||||||
| 	bool			(*stream_memory_read)(const struct sock *sk); | 	bool			(*sock_is_readable)(struct sock *sk); | ||||||
| 	/* Memory pressure */ | 	/* Memory pressure */ | ||||||
| 	void			(*enter_memory_pressure)(struct sock *sk); | 	void			(*enter_memory_pressure)(struct sock *sk); | ||||||
| 	void			(*leave_memory_pressure)(struct sock *sk); | 	void			(*leave_memory_pressure)(struct sock *sk); | ||||||
|  | @ -2820,4 +2820,10 @@ void sock_set_sndtimeo(struct sock *sk, s64 secs); | ||||||
| 
 | 
 | ||||||
| int sock_bind_add(struct sock *sk, struct sockaddr *addr, int addr_len); | int sock_bind_add(struct sock *sk, struct sockaddr *addr, int addr_len); | ||||||
| 
 | 
 | ||||||
|  | static inline bool sk_is_readable(struct sock *sk) | ||||||
|  | { | ||||||
|  | 	if (sk->sk_prot->sock_is_readable) | ||||||
|  | 		return sk->sk_prot->sock_is_readable(sk); | ||||||
|  | 	return false; | ||||||
|  | } | ||||||
| #endif	/* _SOCK_H */ | #endif	/* _SOCK_H */ | ||||||
|  |  | ||||||
|  | @ -375,7 +375,7 @@ void tls_sw_release_resources_rx(struct sock *sk); | ||||||
| void tls_sw_free_ctx_rx(struct tls_context *tls_ctx); | void tls_sw_free_ctx_rx(struct tls_context *tls_ctx); | ||||||
| int tls_sw_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, | int tls_sw_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, | ||||||
| 		   int nonblock, int flags, int *addr_len); | 		   int nonblock, int flags, int *addr_len); | ||||||
| bool tls_sw_stream_read(const struct sock *sk); | bool tls_sw_sock_is_readable(struct sock *sk); | ||||||
| ssize_t tls_sw_splice_read(struct socket *sock, loff_t *ppos, | ssize_t tls_sw_splice_read(struct socket *sock, loff_t *ppos, | ||||||
| 			   struct pipe_inode_info *pipe, | 			   struct pipe_inode_info *pipe, | ||||||
| 			   size_t len, unsigned int flags); | 			   size_t len, unsigned int flags); | ||||||
|  |  | ||||||
|  | @ -486,10 +486,7 @@ static bool tcp_stream_is_readable(struct sock *sk, int target) | ||||||
| { | { | ||||||
| 	if (tcp_epollin_ready(sk, target)) | 	if (tcp_epollin_ready(sk, target)) | ||||||
| 		return true; | 		return true; | ||||||
| 
 | 	return sk_is_readable(sk); | ||||||
| 	if (sk->sk_prot->stream_memory_read) |  | ||||||
| 		return sk->sk_prot->stream_memory_read(sk); |  | ||||||
| 	return false; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /*
 | /*
 | ||||||
|  |  | ||||||
|  | @ -150,7 +150,7 @@ int tcp_bpf_sendmsg_redir(struct sock *sk, struct sk_msg *msg, | ||||||
| EXPORT_SYMBOL_GPL(tcp_bpf_sendmsg_redir); | EXPORT_SYMBOL_GPL(tcp_bpf_sendmsg_redir); | ||||||
| 
 | 
 | ||||||
| #ifdef CONFIG_BPF_SYSCALL | #ifdef CONFIG_BPF_SYSCALL | ||||||
| static bool tcp_bpf_stream_read(const struct sock *sk) | static bool tcp_bpf_sock_is_readable(struct sock *sk) | ||||||
| { | { | ||||||
| 	struct sk_psock *psock; | 	struct sk_psock *psock; | ||||||
| 	bool empty = true; | 	bool empty = true; | ||||||
|  | @ -491,7 +491,7 @@ static void tcp_bpf_rebuild_protos(struct proto prot[TCP_BPF_NUM_CFGS], | ||||||
| 	prot[TCP_BPF_BASE].unhash		= sock_map_unhash; | 	prot[TCP_BPF_BASE].unhash		= sock_map_unhash; | ||||||
| 	prot[TCP_BPF_BASE].close		= sock_map_close; | 	prot[TCP_BPF_BASE].close		= sock_map_close; | ||||||
| 	prot[TCP_BPF_BASE].recvmsg		= tcp_bpf_recvmsg; | 	prot[TCP_BPF_BASE].recvmsg		= tcp_bpf_recvmsg; | ||||||
| 	prot[TCP_BPF_BASE].stream_memory_read	= tcp_bpf_stream_read; | 	prot[TCP_BPF_BASE].sock_is_readable	= tcp_bpf_sock_is_readable; | ||||||
| 
 | 
 | ||||||
| 	prot[TCP_BPF_TX]			= prot[TCP_BPF_BASE]; | 	prot[TCP_BPF_TX]			= prot[TCP_BPF_BASE]; | ||||||
| 	prot[TCP_BPF_TX].sendmsg		= tcp_bpf_sendmsg; | 	prot[TCP_BPF_TX].sendmsg		= tcp_bpf_sendmsg; | ||||||
|  |  | ||||||
|  | @ -681,12 +681,12 @@ static void build_protos(struct proto prot[TLS_NUM_CONFIG][TLS_NUM_CONFIG], | ||||||
| 
 | 
 | ||||||
| 	prot[TLS_BASE][TLS_SW] = prot[TLS_BASE][TLS_BASE]; | 	prot[TLS_BASE][TLS_SW] = prot[TLS_BASE][TLS_BASE]; | ||||||
| 	prot[TLS_BASE][TLS_SW].recvmsg		  = tls_sw_recvmsg; | 	prot[TLS_BASE][TLS_SW].recvmsg		  = tls_sw_recvmsg; | ||||||
| 	prot[TLS_BASE][TLS_SW].stream_memory_read = tls_sw_stream_read; | 	prot[TLS_BASE][TLS_SW].sock_is_readable   = tls_sw_sock_is_readable; | ||||||
| 	prot[TLS_BASE][TLS_SW].close		  = tls_sk_proto_close; | 	prot[TLS_BASE][TLS_SW].close		  = tls_sk_proto_close; | ||||||
| 
 | 
 | ||||||
| 	prot[TLS_SW][TLS_SW] = prot[TLS_SW][TLS_BASE]; | 	prot[TLS_SW][TLS_SW] = prot[TLS_SW][TLS_BASE]; | ||||||
| 	prot[TLS_SW][TLS_SW].recvmsg		= tls_sw_recvmsg; | 	prot[TLS_SW][TLS_SW].recvmsg		= tls_sw_recvmsg; | ||||||
| 	prot[TLS_SW][TLS_SW].stream_memory_read	= tls_sw_stream_read; | 	prot[TLS_SW][TLS_SW].sock_is_readable   = tls_sw_sock_is_readable; | ||||||
| 	prot[TLS_SW][TLS_SW].close		= tls_sk_proto_close; | 	prot[TLS_SW][TLS_SW].close		= tls_sk_proto_close; | ||||||
| 
 | 
 | ||||||
| #ifdef CONFIG_TLS_DEVICE | #ifdef CONFIG_TLS_DEVICE | ||||||
|  |  | ||||||
|  | @ -2026,7 +2026,7 @@ ssize_t tls_sw_splice_read(struct socket *sock,  loff_t *ppos, | ||||||
| 	return copied ? : err; | 	return copied ? : err; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| bool tls_sw_stream_read(const struct sock *sk) | bool tls_sw_sock_is_readable(struct sock *sk) | ||||||
| { | { | ||||||
| 	struct tls_context *tls_ctx = tls_get_ctx(sk); | 	struct tls_context *tls_ctx = tls_get_ctx(sk); | ||||||
| 	struct tls_sw_context_rx *ctx = tls_sw_ctx_rx(tls_ctx); | 	struct tls_sw_context_rx *ctx = tls_sw_ctx_rx(tls_ctx); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Cong Wang
						Cong Wang