From: Geert Uytterhoeven <geert@linux-m68k.org>
To: Alexander Aring <aahringo@redhat.com>,
Christine Caulfield <ccaulfie@redhat.com>,
David Teigland <teigland@redhat.com>
Cc: "Reported-by : Randy Dunlap" <rdunlap@infradead.org>,
cluster-devel@redhat.com, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org,
Geert Uytterhoeven <geert@linux-m68k.org>
Subject: [PATCH] fs: dlm: Protect IPV6 field access by CONFIG_IPV6
Date: Thu, 18 Nov 2021 09:23:55 +0100 [thread overview]
Message-ID: <20211118082355.983825-1-geert@linux-m68k.org> (raw)
If CONFIG_IPV6=n:
In file included from fs/dlm/lowcomms.c:46:
fs/dlm/lowcomms.c: In function ‘lowcomms_error_report’:
./include/net/sock.h:386:34: error: ‘struct sock_common’ has no member named ‘skc_v6_daddr’; did you mean ‘skc_daddr’?
386 | #define sk_v6_daddr __sk_common.skc_v6_daddr
| ^~~~~~~~~~~~
./include/linux/printk.h:422:19: note: in expansion of macro ‘sk_v6_daddr’
422 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~~~~~~~~
./include/linux/printk.h:450:26: note: in expansion of macro ‘printk_index_wrap’
450 | #define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
| ^~~~~~~~~~~~~~~~~
./include/linux/printk.h:644:3: note: in expansion of macro ‘printk’
644 | printk(fmt, ##__VA_ARGS__); \
| ^~~~~~
fs/dlm/lowcomms.c:612:3: note: in expansion of macro ‘printk_ratelimited’
612 | printk_ratelimited(KERN_ERR "dlm: node %d: socket error "
| ^~~~~~~~~~~~~~~~~~
Fix this by protecting the code that accesses IPV6-only fields by a
check for CONFIG_IPV6.
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Fixes: 4c3d90570bcc2b33 ("fs: dlm: don't call kernel_getpeername() in error_report()")
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
fs/dlm/lowcomms.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c
index 203470189011102d..f7fc1ac76ce83a5f 100644
--- a/fs/dlm/lowcomms.c
+++ b/fs/dlm/lowcomms.c
@@ -608,6 +608,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, "
@@ -616,6 +617,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, "
--
2.25.1
next reply other threads:[~2021-11-18 8:26 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-11-18 8:23 Geert Uytterhoeven [this message]
2021-11-18 14:52 ` [PATCH] fs: dlm: Protect IPV6 field access by CONFIG_IPV6 Alexander Aring
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211118082355.983825-1-geert@linux-m68k.org \
--to=geert@linux-m68k.org \
--cc=aahringo@redhat.com \
--cc=ccaulfie@redhat.com \
--cc=cluster-devel@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=rdunlap@infradead.org \
--cc=teigland@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.