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

af_unix: Explicitly include headers for non-pointer struct fields.

include/net/af_unix.h indirectly includes some definitions for structs.

Let's include such headers explicitly.

linux/atomic.h : scm_stat.nr_fds
linux/net.h : unix_sock.peer_wq
linux/path.h : unix_sock.path
linux/spinlock.h : unix_sock.lock
linux/wait.h : unix_sock.peer_wake
uapi/linux/un.h : unix_address.name[]

linux/socket.h is removed as the structs there are not used directly,
and linux/un.h is clarified with uapi as un.h only exists under
include/uapi.

While at it, duplicate headers are removed from .c files.

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

authored by

Kuniyuki Iwashima and committed by
Jakub Kicinski
3056172a 84960bf2

+6 -14
+6 -2
include/net/af_unix.h
··· 2 2 #ifndef __LINUX_NET_AFUNIX_H 3 3 #define __LINUX_NET_AFUNIX_H 4 4 5 + #include <linux/atomic.h> 5 6 #include <linux/mutex.h> 7 + #include <linux/net.h> 8 + #include <linux/path.h> 6 9 #include <linux/refcount.h> 7 - #include <linux/socket.h> 8 - #include <linux/un.h> 10 + #include <linux/spinlock.h> 11 + #include <linux/wait.h> 9 12 #include <net/sock.h> 13 + #include <uapi/linux/un.h> 10 14 11 15 #if IS_ENABLED(CONFIG_UNIX) 12 16 struct unix_sock *unix_get_socket(struct file *filp);
-3
net/unix/af_unix.c
··· 92 92 #include <linux/module.h> 93 93 #include <linux/mount.h> 94 94 #include <linux/namei.h> 95 - #include <linux/net.h> 96 95 #include <linux/netdevice.h> 97 96 #include <linux/poll.h> 98 97 #include <linux/proc_fs.h> ··· 109 110 #include <linux/string.h> 110 111 #include <linux/termios.h> 111 112 #include <linux/uaccess.h> 112 - #include <linux/un.h> 113 113 #include <net/af_unix.h> 114 114 #include <net/checksum.h> 115 115 #include <net/net_namespace.h> 116 116 #include <net/scm.h> 117 - #include <net/sock.h> 118 117 #include <net/tcp_states.h> 119 118 120 119 #include "af_unix.h"
-3
net/unix/diag.c
··· 3 3 #include <linux/module.h> 4 4 #include <linux/skbuff.h> 5 5 #include <linux/sock_diag.h> 6 - #include <linux/spinlock.h> 7 6 #include <linux/types.h> 8 - #include <linux/uidgid.h> 9 7 #include <linux/unix_diag.h> 10 8 #include <net/af_unix.h> 11 9 #include <net/netlink.h> 12 - #include <net/sock.h> 13 10 #include <net/tcp_states.h> 14 11 15 12 #include "af_unix.h"
-5
net/unix/garbage.c
··· 66 66 #include <linux/file.h> 67 67 #include <linux/fs.h> 68 68 #include <linux/kernel.h> 69 - #include <linux/mutex.h> 70 - #include <linux/net.h> 71 69 #include <linux/netdevice.h> 72 70 #include <linux/proc_fs.h> 73 71 #include <linux/skbuff.h> 74 72 #include <linux/socket.h> 75 73 #include <linux/string.h> 76 - #include <linux/un.h> 77 - #include <linux/wait.h> 78 74 #include <net/af_unix.h> 79 75 #include <net/scm.h> 80 - #include <net/sock.h> 81 76 #include <net/tcp_states.h> 82 77 83 78 #include "af_unix.h"
-1
net/unix/unix_bpf.c
··· 4 4 #include <linux/bpf.h> 5 5 #include <linux/skmsg.h> 6 6 #include <net/af_unix.h> 7 - #include <net/sock.h> 8 7 9 8 #include "af_unix.h" 10 9