Commit 6dc4c252 authored by Eric Dumazet's avatar Eric Dumazet Committed by Jakub Kicinski
Browse files

tcp: use EXPORT_IPV6_MOD[_GPL]()



Use EXPORT_IPV6_MOD[_GPL]() for symbols that don't need
to be exported unless CONFIG_IPV6=m

tcp_hashinfo and tcp_openreq_init_rwin() are no longer
used from any module anyway.

Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Reviewed-by: default avatarKuniyuki Iwashima <kuniyu@amazon.com>
Reviewed-by: default avatarMateusz Polchlopek <mateusz.polchlopek@intel.com>
Link: https://patch.msgid.link/20250212132418.1524422-4-edumazet@google.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 95a3c96c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -71,7 +71,7 @@ u32 secure_tcpv6_ts_off(const struct net *net,
	return siphash(&combined, offsetofend(typeof(combined), daddr),
		       &ts_secret);
}
EXPORT_SYMBOL(secure_tcpv6_ts_off);
EXPORT_IPV6_MOD(secure_tcpv6_ts_off);

u32 secure_tcpv6_seq(const __be32 *saddr, const __be32 *daddr,
		     __be16 sport, __be16 dport)
+4 −4
Original line number Diff line number Diff line
@@ -222,7 +222,7 @@ struct sock *tcp_get_cookie_sock(struct sock *sk, struct sk_buff *skb,

	return NULL;
}
EXPORT_SYMBOL(tcp_get_cookie_sock);
EXPORT_IPV6_MOD(tcp_get_cookie_sock);

/*
 * when syncookies are in effect and tcp timestamps are enabled we stored
@@ -259,7 +259,7 @@ bool cookie_timestamp_decode(const struct net *net,

	return READ_ONCE(net->ipv4.sysctl_tcp_window_scaling) != 0;
}
EXPORT_SYMBOL(cookie_timestamp_decode);
EXPORT_IPV6_MOD(cookie_timestamp_decode);

static int cookie_tcp_reqsk_init(struct sock *sk, struct sk_buff *skb,
				 struct request_sock *req)
@@ -310,7 +310,7 @@ struct request_sock *cookie_bpf_check(struct sock *sk, struct sk_buff *skb)

	return req;
}
EXPORT_SYMBOL_GPL(cookie_bpf_check);
EXPORT_IPV6_MOD_GPL(cookie_bpf_check);
#endif

struct request_sock *cookie_tcp_reqsk_alloc(const struct request_sock_ops *ops,
@@ -351,7 +351,7 @@ struct request_sock *cookie_tcp_reqsk_alloc(const struct request_sock_ops *ops,

	return req;
}
EXPORT_SYMBOL_GPL(cookie_tcp_reqsk_alloc);
EXPORT_IPV6_MOD_GPL(cookie_tcp_reqsk_alloc);

static struct request_sock *cookie_tcp_check(struct net *net, struct sock *sk,
					     struct sk_buff *skb)
+22 −22
Original line number Diff line number Diff line
@@ -300,10 +300,10 @@ DEFINE_PER_CPU(u32, tcp_tw_isn);
EXPORT_PER_CPU_SYMBOL_GPL(tcp_tw_isn);

long sysctl_tcp_mem[3] __read_mostly;
EXPORT_SYMBOL(sysctl_tcp_mem);
EXPORT_IPV6_MOD(sysctl_tcp_mem);

atomic_long_t tcp_memory_allocated ____cacheline_aligned_in_smp;	/* Current allocated memory. */
EXPORT_SYMBOL(tcp_memory_allocated);
EXPORT_IPV6_MOD(tcp_memory_allocated);
DEFINE_PER_CPU(int, tcp_memory_per_cpu_fw_alloc);
EXPORT_PER_CPU_SYMBOL_GPL(tcp_memory_per_cpu_fw_alloc);

@@ -316,7 +316,7 @@ EXPORT_SYMBOL(tcp_have_smc);
 * Current number of TCP sockets.
 */
struct percpu_counter tcp_sockets_allocated ____cacheline_aligned_in_smp;
EXPORT_SYMBOL(tcp_sockets_allocated);
EXPORT_IPV6_MOD(tcp_sockets_allocated);

/*
 * TCP splice context
@@ -349,7 +349,7 @@ void tcp_enter_memory_pressure(struct sock *sk)
	if (!cmpxchg(&tcp_memory_pressure, 0, val))
		NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPMEMORYPRESSURES);
}
EXPORT_SYMBOL_GPL(tcp_enter_memory_pressure);
EXPORT_IPV6_MOD_GPL(tcp_enter_memory_pressure);

void tcp_leave_memory_pressure(struct sock *sk)
{
@@ -362,7 +362,7 @@ void tcp_leave_memory_pressure(struct sock *sk)
		NET_ADD_STATS(sock_net(sk), LINUX_MIB_TCPMEMORYPRESSURESCHRONO,
			      jiffies_to_msecs(jiffies - val));
}
EXPORT_SYMBOL_GPL(tcp_leave_memory_pressure);
EXPORT_IPV6_MOD_GPL(tcp_leave_memory_pressure);

/* Convert seconds to retransmits based on initial and max timeout */
static u8 secs_to_retrans(int seconds, int timeout, int rto_max)
@@ -479,7 +479,7 @@ void tcp_init_sock(struct sock *sk)
	sk_sockets_allocated_inc(sk);
	xa_init_flags(&sk->sk_user_frags, XA_FLAGS_ALLOC1);
}
EXPORT_SYMBOL(tcp_init_sock);
EXPORT_IPV6_MOD(tcp_init_sock);

static void tcp_tx_timestamp(struct sock *sk, struct sockcm_cookie *sockc)
{
@@ -664,7 +664,7 @@ int tcp_ioctl(struct sock *sk, int cmd, int *karg)
	*karg = answ;
	return 0;
}
EXPORT_SYMBOL(tcp_ioctl);
EXPORT_IPV6_MOD(tcp_ioctl);

void tcp_mark_push(struct tcp_sock *tp, struct sk_buff *skb)
{
@@ -880,7 +880,7 @@ ssize_t tcp_splice_read(struct socket *sock, loff_t *ppos,

	return ret;
}
EXPORT_SYMBOL(tcp_splice_read);
EXPORT_IPV6_MOD(tcp_splice_read);

struct sk_buff *tcp_stream_alloc_skb(struct sock *sk, gfp_t gfp,
				     bool force_schedule)
@@ -1380,7 +1380,7 @@ void tcp_splice_eof(struct socket *sock)
	tcp_push(sk, 0, mss_now, tp->nonagle, size_goal);
	release_sock(sk);
}
EXPORT_SYMBOL_GPL(tcp_splice_eof);
EXPORT_IPV6_MOD_GPL(tcp_splice_eof);

/*
 *	Handle reading urgent data. BSD has very simple semantics for
@@ -1671,7 +1671,7 @@ int tcp_read_skb(struct sock *sk, skb_read_actor_t recv_actor)
	}
	return copied;
}
EXPORT_SYMBOL(tcp_read_skb);
EXPORT_IPV6_MOD(tcp_read_skb);

void tcp_read_done(struct sock *sk, size_t len)
{
@@ -1716,7 +1716,7 @@ int tcp_peek_len(struct socket *sock)
{
	return tcp_inq(sock->sk);
}
EXPORT_SYMBOL(tcp_peek_len);
EXPORT_IPV6_MOD(tcp_peek_len);

/* Make sure sk_rcvbuf is big enough to satisfy SO_RCVLOWAT hint */
int tcp_set_rcvlowat(struct sock *sk, int val)
@@ -1743,7 +1743,7 @@ int tcp_set_rcvlowat(struct sock *sk, int val)
	}
	return 0;
}
EXPORT_SYMBOL(tcp_set_rcvlowat);
EXPORT_IPV6_MOD(tcp_set_rcvlowat);

void tcp_update_recv_tstamps(struct sk_buff *skb,
			     struct scm_timestamping_internal *tss)
@@ -1776,7 +1776,7 @@ int tcp_mmap(struct file *file, struct socket *sock,
	vma->vm_ops = &tcp_vm_ops;
	return 0;
}
EXPORT_SYMBOL(tcp_mmap);
EXPORT_IPV6_MOD(tcp_mmap);

static skb_frag_t *skb_advance_to_frag(struct sk_buff *skb, u32 offset_skb,
				       u32 *offset_frag)
@@ -2873,7 +2873,7 @@ int tcp_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, int flags,
	}
	return ret;
}
EXPORT_SYMBOL(tcp_recvmsg);
EXPORT_IPV6_MOD(tcp_recvmsg);

void tcp_set_state(struct sock *sk, int state)
{
@@ -3003,7 +3003,7 @@ void tcp_shutdown(struct sock *sk, int how)
			tcp_send_fin(sk);
	}
}
EXPORT_SYMBOL(tcp_shutdown);
EXPORT_IPV6_MOD(tcp_shutdown);

int tcp_orphan_count_sum(void)
{
@@ -3502,7 +3502,7 @@ static int tcp_repair_options_est(struct sock *sk, sockptr_t optbuf,
}

DEFINE_STATIC_KEY_FALSE(tcp_tx_delay_enabled);
EXPORT_SYMBOL(tcp_tx_delay_enabled);
EXPORT_IPV6_MOD(tcp_tx_delay_enabled);

static void tcp_enable_tx_delay(void)
{
@@ -4045,7 +4045,7 @@ int tcp_setsockopt(struct sock *sk, int level, int optname, sockptr_t optval,
								optval, optlen);
	return do_tcp_setsockopt(sk, level, optname, optval, optlen);
}
EXPORT_SYMBOL(tcp_setsockopt);
EXPORT_IPV6_MOD(tcp_setsockopt);

static void tcp_get_info_chrono_stats(const struct tcp_sock *tp,
				      struct tcp_info *info)
@@ -4676,7 +4676,7 @@ bool tcp_bpf_bypass_getsockopt(int level, int optname)

	return false;
}
EXPORT_SYMBOL(tcp_bpf_bypass_getsockopt);
EXPORT_IPV6_MOD(tcp_bpf_bypass_getsockopt);

int tcp_getsockopt(struct sock *sk, int level, int optname, char __user *optval,
		   int __user *optlen)
@@ -4690,11 +4690,11 @@ int tcp_getsockopt(struct sock *sk, int level, int optname, char __user *optval,
	return do_tcp_getsockopt(sk, level, optname, USER_SOCKPTR(optval),
				 USER_SOCKPTR(optlen));
}
EXPORT_SYMBOL(tcp_getsockopt);
EXPORT_IPV6_MOD(tcp_getsockopt);

#ifdef CONFIG_TCP_MD5SIG
int tcp_md5_sigpool_id = -1;
EXPORT_SYMBOL_GPL(tcp_md5_sigpool_id);
EXPORT_IPV6_MOD_GPL(tcp_md5_sigpool_id);

int tcp_md5_alloc_sigpool(void)
{
@@ -4740,7 +4740,7 @@ int tcp_md5_hash_key(struct tcp_sigpool *hp,
	 */
	return data_race(crypto_ahash_update(hp->req));
}
EXPORT_SYMBOL(tcp_md5_hash_key);
EXPORT_IPV6_MOD(tcp_md5_hash_key);

/* Called with rcu_read_lock() */
static enum skb_drop_reason
@@ -4860,7 +4860,7 @@ tcp_inbound_hash(struct sock *sk, const struct request_sock *req,
	return tcp_inbound_md5_hash(sk, skb, saddr, daddr, family,
				    l3index, md5_location);
}
EXPORT_SYMBOL_GPL(tcp_inbound_hash);
EXPORT_IPV6_MOD_GPL(tcp_inbound_hash);

void tcp_done(struct sock *sk)
{
+1 −1
Original line number Diff line number Diff line
@@ -468,7 +468,7 @@ bool tcp_fastopen_defer_connect(struct sock *sk, int *err)
	}
	return false;
}
EXPORT_SYMBOL(tcp_fastopen_defer_connect);
EXPORT_IPV6_MOD(tcp_fastopen_defer_connect);

/*
 * The following code block is to deal with middle box issues with TFO:
+7 −7
Original line number Diff line number Diff line
@@ -630,7 +630,7 @@ void tcp_initialize_rcv_mss(struct sock *sk)

	inet_csk(sk)->icsk_ack.rcv_mss = hint;
}
EXPORT_SYMBOL(tcp_initialize_rcv_mss);
EXPORT_IPV6_MOD(tcp_initialize_rcv_mss);

/* Receiver "autotuning" code.
 *
@@ -2891,7 +2891,7 @@ void tcp_simple_retransmit(struct sock *sk)
	 */
	tcp_non_congestion_loss_retransmit(sk);
}
EXPORT_SYMBOL(tcp_simple_retransmit);
EXPORT_IPV6_MOD(tcp_simple_retransmit);

void tcp_enter_recovery(struct sock *sk, bool ece_ack)
{
@@ -4521,7 +4521,7 @@ void tcp_done_with_error(struct sock *sk, int err)
	if (!sock_flag(sk, SOCK_DEAD))
		sk_error_report(sk);
}
EXPORT_SYMBOL(tcp_done_with_error);
EXPORT_IPV6_MOD(tcp_done_with_error);

/* When we get a reset we do this. */
void tcp_reset(struct sock *sk, struct sk_buff *skb)
@@ -6291,7 +6291,7 @@ void tcp_rcv_established(struct sock *sk, struct sk_buff *skb)
discard:
	tcp_drop_reason(sk, skb, reason);
}
EXPORT_SYMBOL(tcp_rcv_established);
EXPORT_IPV6_MOD(tcp_rcv_established);

void tcp_init_transfer(struct sock *sk, int bpf_op, struct sk_buff *skb)
{
@@ -7004,7 +7004,7 @@ tcp_rcv_state_process(struct sock *sk, struct sk_buff *skb)
	__kfree_skb(skb);
	return 0;
}
EXPORT_SYMBOL(tcp_rcv_state_process);
EXPORT_IPV6_MOD(tcp_rcv_state_process);

static inline void pr_drop_req(struct request_sock *req, __u16 port, int family)
{
@@ -7186,7 +7186,7 @@ u16 tcp_get_syncookie_mss(struct request_sock_ops *rsk_ops,

	return mss;
}
EXPORT_SYMBOL_GPL(tcp_get_syncookie_mss);
EXPORT_IPV6_MOD_GPL(tcp_get_syncookie_mss);

int tcp_conn_request(struct request_sock_ops *rsk_ops,
		     const struct tcp_request_sock_ops *af_ops,
@@ -7367,4 +7367,4 @@ int tcp_conn_request(struct request_sock_ops *rsk_ops,
	tcp_listendrop(sk);
	return 0;
}
EXPORT_SYMBOL(tcp_conn_request);
EXPORT_IPV6_MOD(tcp_conn_request);
Loading