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

Configure Feed

Select the types of activity you want to include in your feed.

perf beauty: Update copy of linux/socket.h with the kernel sources

To pick the changes in:

Fixes: d32f89da7fa8ccc8 ("net: add accept helper not installing fd")
Fixes: bc49d8169aa72295 ("mctp: Add MCTP base")

This automagically adds support for the AF_MCTP protocol domain:

$ tools/perf/trace/beauty/socket.sh > before
$ cp include/linux/socket.h tools/perf/trace/beauty/include/linux/socket.h
$ tools/perf/trace/beauty/socket.sh > after
$ diff -u before after
--- before 2021-09-06 11:57:14.972747200 -0300
+++ after 2021-09-06 11:57:30.541920222 -0300
@@ -44,4 +44,5 @@
[42] = "QIPCRTR",
[43] = "SMC",
[44] = "XDP",
+ [45] = "MCTP",
};
$

This will allow 'perf trace' to translate 45 into "MCTP" as is done with
the other domains:

# perf trace -e socket*
0.000 chronyd/1029 socket(family: INET, type: DGRAM|CLOEXEC|NONBLOCK, protocol: IP) = 4
^C#

This addresses this perf build warning:

Warning: Kernel ABI header at 'tools/perf/trace/beauty/include/linux/socket.h' differs from latest version at 'include/linux/socket.h'
diff -u tools/perf/trace/beauty/include/linux/socket.h include/linux/socket.h

Cc: David S. Miller <davem@davemloft.net>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Jeremy Kerr <jk@codeconstruct.com.au>
Cc: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

+8 -1
+8 -1
tools/perf/trace/beauty/include/linux/socket.h
··· 223 223 * reuses AF_INET address family 224 224 */ 225 225 #define AF_XDP 44 /* XDP sockets */ 226 + #define AF_MCTP 45 /* Management component 227 + * transport protocol 228 + */ 226 229 227 - #define AF_MAX 45 /* For now.. */ 230 + #define AF_MAX 46 /* For now.. */ 228 231 229 232 /* Protocol families, same as address families. */ 230 233 #define PF_UNSPEC AF_UNSPEC ··· 277 274 #define PF_QIPCRTR AF_QIPCRTR 278 275 #define PF_SMC AF_SMC 279 276 #define PF_XDP AF_XDP 277 + #define PF_MCTP AF_MCTP 280 278 #define PF_MAX AF_MAX 281 279 282 280 /* Maximum queue length specifiable by listen. */ ··· 425 421 struct sockaddr __user *upeer_sockaddr, 426 422 int __user *upeer_addrlen, int flags, 427 423 unsigned long nofile); 424 + extern struct file *do_accept(struct file *file, unsigned file_flags, 425 + struct sockaddr __user *upeer_sockaddr, 426 + int __user *upeer_addrlen, int flags); 428 427 extern int __sys_accept4(int fd, struct sockaddr __user *upeer_sockaddr, 429 428 int __user *upeer_addrlen, int flags); 430 429 extern int __sys_socket(int family, int type, int protocol);