]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
fs: dlm: fix build with CONFIG_IPV6 disabled
authorAlexander Aring <aahringo@redhat.com>
Wed, 17 Nov 2021 14:20:43 +0000 (09:20 -0500)
committerPaolo Pisati <paolo.pisati@canonical.com>
Fri, 28 Jan 2022 09:59:15 +0000 (10:59 +0100)
BugLink: https://bugs.launchpad.net/bugs/1959376
[ Upstream commit 1b9beda83e27a0c2cd75d1cb743c297c7b36c844 ]

This patch will surround the AF_INET6 case in sk_error_report() of dlm
with a #if IS_ENABLED(CONFIG_IPV6). The field sk->sk_v6_daddr is not
defined when CONFIG_IPV6 is disabled. If CONFIG_IPV6 is disabled, the
socket creation with AF_INET6 should already fail because a runtime
check if AF_INET6 is registered. However if there is the possibility
that AF_INET6 is set as sk_family the sk_error_report() callback will
print then an invalid family type error.

Reported-by: kernel test robot <lkp@intel.com>
Fixes: 4c3d90570bcc ("fs: dlm: don't call kernel_getpeername() in error_report()")
Signed-off-by: Alexander Aring <aahringo@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
fs/dlm/lowcomms.c

index 7b1c5f05a988b0402e1d851e8d7882e3c1d15df5..7a8efce1c343ead9722fad8baaba70bbe6464a86 100644 (file)
@@ -612,6 +612,7 @@ static void lowcomms_error_report(struct sock *sk)
                                   ntohs(inet->inet_dport), sk->sk_err,
                                   sk->sk_err_soft);
                break;
+#if IS_ENABLED(CONFIG_IPV6)
        case AF_INET6:
                printk_ratelimited(KERN_ERR "dlm: node %d: socket error "
                                   "sending to node %d at %pI6c, "
@@ -620,6 +621,7 @@ static void lowcomms_error_report(struct sock *sk)
                                   ntohs(inet->inet_dport), sk->sk_err,
                                   sk->sk_err_soft);
                break;
+#endif
        default:
                printk_ratelimited(KERN_ERR "dlm: node %d: socket error "
                                   "invalid socket family %d set, "