Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

af_unix: Clean up #include under net/unix/.

net/unix/*.c include many unnecessary header files (rtnetlink.h,
netdevice.h, etc).

Let's clean them up.

af_unix.c:

+uapi/linux/sockios.h : Only exist under include/uapi
+uapi/linux/termios.h : Only exist under include/uapi

-linux/freezer.h : No longer use freezable_schedule_timeout()
-linux/in.h : No ipv4_is_XXX() etc
-linux/module.h : No longer support CONFIG_UNIX=m
-linux/netdevice.h : No dev used
-linux/rtnetlink.h : Not part of rtnetlink API
-linux/signal.h : signal_pending() is defined in sched/signal.h
-linux/stat.h : No struct stat used
-net/checksum.h : CHECKSUM_UNNECESSARY is defined in skbuff.h

diag.c:

+linux/dcache.h : struct dentry in sk_diag_dump_vfs()
+linux/user_namespace.h : struct user_namespace in sk_diag_dump_uid()
+uapi/linux/unix_diag.h : Only exist under include/uapi/

garbage.c:

+linux/list.h : struct unix_{vertex,edge}, etc
+linux/workqueue.h : DECLARE_WORK(unix_gc_work, ...)

-linux/file.h : No fget() etc
-linux/kernel.h : No cond_resched() etc
-linux/netdevice.h : No dev used
-linux/proc_fs.h : No procfs provided
-linux/string.h : No memcpy(), kmemdup(), etc

sysctl_net_unix.c:

+linux/string.h : kmemdup()
+net/net_namespace.h : struct net, net_eq()

-linux/mm.h : slab.h is enough

Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Link: https://patch.msgid.link/20250318034934.86708-5-kuniyu@amazon.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Kuniyuki Iwashima and committed by
Jakub Kicinski
0083e3e3 3056172a

+9 -17
+2 -10
net/unix/af_unix.c
··· 84 84 #include <linux/fcntl.h> 85 85 #include <linux/file.h> 86 86 #include <linux/filter.h> 87 - #include <linux/freezer.h> 88 87 #include <linux/fs.h> 89 - #include <linux/in.h> 90 88 #include <linux/init.h> 91 89 #include <linux/kernel.h> 92 - #include <linux/module.h> 93 90 #include <linux/mount.h> 94 91 #include <linux/namei.h> 95 - #include <linux/netdevice.h> 96 92 #include <linux/poll.h> 97 93 #include <linux/proc_fs.h> 98 - #include <linux/rtnetlink.h> 99 94 #include <linux/sched/signal.h> 100 95 #include <linux/security.h> 101 96 #include <linux/seq_file.h> 102 - #include <linux/signal.h> 103 97 #include <linux/skbuff.h> 104 98 #include <linux/slab.h> 105 99 #include <linux/socket.h> 106 - #include <linux/sockios.h> 107 100 #include <linux/splice.h> 108 - #include <linux/stat.h> 109 101 #include <linux/string.h> 110 - #include <linux/termios.h> 111 102 #include <linux/uaccess.h> 112 103 #include <net/af_unix.h> 113 - #include <net/checksum.h> 114 104 #include <net/net_namespace.h> 115 105 #include <net/scm.h> 116 106 #include <net/tcp_states.h> 107 + #include <uapi/linux/sockios.h> 108 + #include <uapi/linux/termios.h> 117 109 118 110 #include "af_unix.h" 119 111
+3 -1
net/unix/diag.c
··· 1 1 // SPDX-License-Identifier: GPL-2.0-only 2 2 3 + #include <linux/dcache.h> 3 4 #include <linux/module.h> 4 5 #include <linux/skbuff.h> 5 6 #include <linux/sock_diag.h> 6 7 #include <linux/types.h> 7 - #include <linux/unix_diag.h> 8 + #include <linux/user_namespace.h> 8 9 #include <net/af_unix.h> 9 10 #include <net/netlink.h> 10 11 #include <net/tcp_states.h> 12 + #include <uapi/linux/unix_diag.h> 11 13 12 14 #include "af_unix.h" 13 15
+2 -5
net/unix/garbage.c
··· 63 63 * wrt receive and holding up unrelated socket operations. 64 64 */ 65 65 66 - #include <linux/file.h> 67 66 #include <linux/fs.h> 68 - #include <linux/kernel.h> 69 - #include <linux/netdevice.h> 70 - #include <linux/proc_fs.h> 67 + #include <linux/list.h> 71 68 #include <linux/skbuff.h> 72 69 #include <linux/socket.h> 73 - #include <linux/string.h> 70 + #include <linux/workqueue.h> 74 71 #include <net/af_unix.h> 75 72 #include <net/scm.h> 76 73 #include <net/tcp_states.h>
+2 -1
net/unix/sysctl_net_unix.c
··· 5 5 * Authors: Mike Shaver. 6 6 */ 7 7 8 - #include <linux/mm.h> 9 8 #include <linux/slab.h> 9 + #include <linux/string.h> 10 10 #include <linux/sysctl.h> 11 11 #include <net/af_unix.h> 12 + #include <net/net_namespace.h> 12 13 13 14 #include "af_unix.h" 14 15