diff options
| author | Arnd Bergmann <arnd@arndb.de> | 2026-02-10 17:30:00 +0300 |
|---|---|---|
| committer | Steve French <stfrench@microsoft.com> | 2026-02-10 21:58:10 +0300 |
| commit | 8f7df60fe063b6b8f039af1042a4b99214347dd1 (patch) | |
| tree | 7e10c2d407bc63b5a2f2ec2f57145c865ab2adef | |
| parent | 31b9028c77dc279d720412013e95b279b1385aed (diff) | |
| download | linux-8f7df60fe063b6b8f039af1042a4b99214347dd1.tar.xz | |
ksmbd: fix non-IPv6 build
The newly added procfs code fails to build when CONFIG_IPv6 is disabled:
fs/smb/server/connection.c: In function 'proc_show_clients':
fs/smb/server/connection.c:47:58: error: 'struct ksmbd_conn' has no member named 'inet6_addr'; did you mean 'inet_addr'?
47 | seq_printf(m, "%-20pI6c", &conn->inet6_addr);
| ^~~~~~~~~~
| inet_addr
make[7]: *** [scripts/Makefile.build:279: fs/smb/server/connection.o] Error 1
fs/smb/server/mgmt/user_session.c: In function 'show_proc_sessions':
fs/smb/server/mgmt/user_session.c:215:65: error: 'struct ksmbd_conn' has no member named 'inet6_addr'; did you mean 'inet_addr'?
215 | seq_printf(m, " %-40pI6c", &chan->conn->inet6_addr);
| ^~~~~~~~~~
| inet_addr
Rearrange the condition to allow adding a simple preprocessor conditional.
Fixes: b38f99c1217a ("ksmbd: add procfs interface for runtime monitoring and statistics")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
| -rw-r--r-- | fs/smb/server/connection.c | 8 | ||||
| -rw-r--r-- | fs/smb/server/mgmt/user_session.c | 8 |
2 files changed, 10 insertions, 6 deletions
diff --git a/fs/smb/server/connection.c b/fs/smb/server/connection.c index f0bd244e7d55..e7e3e77006b1 100644 --- a/fs/smb/server/connection.c +++ b/fs/smb/server/connection.c @@ -41,10 +41,12 @@ static int proc_show_clients(struct seq_file *m, void *v) jiffies_to_timespec64(jiffies - conn->last_active, &t); ktime_get_real_ts64(&now); t = timespec64_sub(now, t); - if (conn->inet_addr) - seq_printf(m, "%-20pI4", &conn->inet_addr); - else +#if IS_ENABLED(CONFIG_IPV6) + if (!conn->inet_addr) seq_printf(m, "%-20pI6c", &conn->inet6_addr); + else +#endif + seq_printf(m, "%-20pI4", &conn->inet_addr); seq_printf(m, " 0x%-10x %-10u %-12d %-10d %ptT\n", conn->dialect, conn->total_credits, diff --git a/fs/smb/server/mgmt/user_session.c b/fs/smb/server/mgmt/user_session.c index b02fa4dcc2d6..957a12de6a9d 100644 --- a/fs/smb/server/mgmt/user_session.c +++ b/fs/smb/server/mgmt/user_session.c @@ -214,10 +214,12 @@ static int show_proc_sessions(struct seq_file *m, void *v) down_read(&chan->conn->session_lock); ksmbd_user_session_get(session); - if (chan->conn->inet_addr) - seq_printf(m, " %-40pI4", &chan->conn->inet_addr); - else +#if IS_ENABLED(CONFIG_IPV6) + if (!chan->conn->inet_addr) seq_printf(m, " %-40pI6c", &chan->conn->inet6_addr); + else +#endif + seq_printf(m, " %-40pI4", &chan->conn->inet_addr); seq_printf(m, " %-15s %-10llu %-10s\n", session_user_name(session), session->id, |
