Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net: stream: fix TCP references when INET is not enabled

Fix build of net/core/stream.o when CONFIG_INET is not enabled.
Fixes these build errors (sample):

ld: net/core/stream.o: in function `sk_stream_write_space':
(.text+0x27e): undefined reference to `tcp_stream_memory_free'
ld: (.text+0x29c): undefined reference to `tcp_stream_memory_free'
ld: (.text+0x2ab): undefined reference to `tcp_stream_memory_free'
ld: net/core/stream.o: in function `sk_stream_wait_memory':
(.text+0x5a1): undefined reference to `tcp_stream_memory_free'
ld: (.text+0x5bf): undefined reference to `tcp_stream_memory_free'

Fixes: 1c5f2ced136a ("tcp: avoid indirect call to tcp_stream_memory_free()")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Link: https://lore.kernel.org/r/20201118194438.674-1-rdunlap@infradead.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Randy Dunlap and committed by
Jakub Kicinski
fc9840fb 76483980

+5
+5
include/net/sock.h
··· 1271 1271 if (READ_ONCE(sk->sk_wmem_queued) >= READ_ONCE(sk->sk_sndbuf)) 1272 1272 return false; 1273 1273 1274 + #ifdef CONFIG_INET 1274 1275 return sk->sk_prot->stream_memory_free ? 1275 1276 INDIRECT_CALL_1(sk->sk_prot->stream_memory_free, 1276 1277 tcp_stream_memory_free, 1277 1278 sk, wake) : true; 1279 + #else 1280 + return sk->sk_prot->stream_memory_free ? 1281 + sk->sk_prot->stream_memory_free(sk, wake) : true; 1282 + #endif 1278 1283 } 1279 1284 1280 1285 static inline bool sk_stream_memory_free(const struct sock *sk)