mirror of https://gitee.com/openkylin/linux.git
bpfilter: fix building without CONFIG_INET
bpfilter_process_sockopt is a callback that gets called from ip_setsockopt() and ip_getsockopt(). However, when CONFIG_INET is disabled, it never gets called at all, and assigning a function to the callback pointer results in a link failure: net/bpfilter/bpfilter_kern.o: In function `__stop_umh': bpfilter_kern.c:(.text.unlikely+0x3): undefined reference to `bpfilter_process_sockopt' net/bpfilter/bpfilter_kern.o: In function `load_umh': bpfilter_kern.c:(.init.text+0x73): undefined reference to `bpfilter_process_sockopt' Since there is no caller in this configuration, I assume we can simply make the assignment conditional. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
f03329627b
commit
d71dbdaa2d
|
@ -33,7 +33,8 @@ static void shutdown_umh(struct umh_info *info)
|
|||
|
||||
static void __stop_umh(void)
|
||||
{
|
||||
if (bpfilter_process_sockopt) {
|
||||
if (IS_ENABLED(CONFIG_INET) &&
|
||||
bpfilter_process_sockopt) {
|
||||
bpfilter_process_sockopt = NULL;
|
||||
shutdown_umh(&info);
|
||||
}
|
||||
|
@ -98,7 +99,9 @@ static int __init load_umh(void)
|
|||
stop_umh();
|
||||
return -EFAULT;
|
||||
}
|
||||
bpfilter_process_sockopt = &__bpfilter_process_sockopt;
|
||||
if (IS_ENABLED(CONFIG_INET))
|
||||
bpfilter_process_sockopt = &__bpfilter_process_sockopt;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue