]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ksmbd: fix non-IPv6 build
authorArnd Bergmann <arnd@arndb.de>
Tue, 10 Feb 2026 14:30:00 +0000 (23:30 +0900)
committerSteve French <stfrench@microsoft.com>
Tue, 10 Feb 2026 18:58:10 +0000 (12:58 -0600)
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>
fs/smb/server/connection.c
fs/smb/server/mgmt/user_session.c

index f0bd244e7d556cdc2f9df048a55b84394124b7f9..e7e3e77006b1b10c11956a56aa283dd6ad930e4c 100644 (file)
@@ -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,
index b02fa4dcc2d69009550a0b74600b40280d55a603..957a12de6a9dca9da5f510a504897c1f55e00e05 100644 (file)
@@ -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,