5573 Commits

Author SHA1 Message Date
JingPiao Chen
762bb69382 netlink: decode AF_UNIX unix_diag_msg attributes
* netlink_sock_diag.c (unix_diag_msg_nla_decoders): New array.
(decode_unix_diag_msg): Use it.
* linux/unix_diag.h (unix_diag_vfs, unix_diag_rqlen): New structures.
2017-07-01 00:05:39 +00:00
e4cfb43cd3 tests: enhance nlattr_netlink_diag_msg test
* tests/nlattr_netlink_diag_msg.c: Include "test_nlattr.h".
(test_netlink_diag_groups, test_netlink_diag_rx_ring,
test_netlink_diag_flags): Remove.
(init_netlink_diag_msg): Add const qualifier to arguments and variables.
(print_netlink_diag_msg, print_xlong): New functions.
(main): Use them and macros from test_nlattr.h file.
2017-07-01 00:05:39 +00:00
JingPiao Chen
5f81d2df70 tests: check decoding of netlink_diag_msg attributes
* tests/nlattr_netlink_diag_msg.c: New file.
* tests/gen_tests.in (nlattr_netlink_diag_msg): New entry.
* tests/pure_executables.list: Add nlattr_netlink_diag_msg.
* tests/.gitignore: Likewise.
2017-07-01 00:05:39 +00:00
e95ea72a8a netlink_sock_diag: ensure that structure field names are printed properly
* netlink_sock_diag.c (decode_netlink_diag_ring): Use PRINT_FIELD_U
to print structure fields.
2017-07-01 00:05:39 +00:00
a6a03cefb5 netlink_sock_diag: add const qualifiers
Add const qualifiers to auto variables and function arguments.
This change does not affect the code generated by the compiler,
the purpose of these "const" qualifiers is to highlight the intent.

* netlink_sock_diag.c (print_group, decode_netlink_diag_groups,
decode_netlink_diag_ring, decode_netlink_diag_flags): Add const
qualifier to tcp, addr, and len arguments.
2017-07-01 00:05:39 +00:00
JingPiao Chen
f731b6b1e6 netlink: decode AF_NETLINK netlink_diag_msg attributes
* linux/netlink_diag.h (netlink_diag_ring): New structure.
(NDIAG_FLAG_*): New macros.
* netlink_sock_diag.c: Include "xlat/netlink_socket_flags.h".
(print_group, decode_netlink_diag_groups, decode_netlink_diag_ring,
decode_netlink_diag_flags): New functions.
(netlink_diag_msg_nla_decoders): New array.
(decode_netlink_diag_msg): Use it.
* xlat/netlink_socket_flags.in: New file.
2017-07-01 00:05:39 +00:00
0c3ef7dffd netlink_sock_diag: print inet_diag_sockid.idiag_if as an interface index
* netlink_sock_diag.c (print_inet_diag_sockid): Print idiag_if field
using print_ifindex.
* tests/nlattr_inet_diag_msg.c: Include <net/if.h>.
(IFINDEX_LO): New macro.
(init_inet_diag_msg): Set inet_diag_sockid.idiag_if field.
(print_inet_diag_msg): Update expected output.
2017-07-01 00:05:39 +00:00
6c7c4e50b1 tests: check decoding of several standard netlink attributes
* tests/nlattr_inet_diag_msg.c (main): Check decoding of uint32_t,
uint8_t, and zero-terminated string attributes.

Co-authored-by: JingPiao Chen <chenjingpiao@gmail.com>
2017-07-01 00:05:39 +00:00
aecff115c0 tests: enhance nlattr_inet_diag_msg test
* tests/test_nlattr.h: New file.
* tests/Makefile.am (libtests_a_SOURCES): Add it.
* tests/nlattr_inet_diag_msg.c: Include "test_nlattr.h".
(test_inet_diag_meminfo, test_inet_diag_vegasinfo,
test_inet_diag_dctcpinfo, test_inet_diag_bbrinfo): Remove.
(address): New variable.
(init_inet_diag_msg): Remove "address" argument, add const qualifier
to all remaining arguments.
(print_inet_diag_msg, print_uint): New functions.
(main): Use macros from test_nlattr.h file.
2017-06-30 21:38:49 +00:00
JingPiao Chen
16ebda581e tests: check decoding of netlink inet_diag_msg attributes
* tests/nlattr_inet_diag_msg.c: New file.
* tests/gen_tests.in (nlattr_inet_diag_msg): New entry.
* tests/pure_executables.list: Add nlattr_inet_diag_msg.
* tests/.gitignore: Likewise.
2017-06-30 21:38:49 +00:00
1c2e012c22 netlink_sock_diag: ensure that structure field names are printed properly
* netlink_sock_diag.c (PRINT_FIELD_X): New macro.
(decode_inet_diag_meminfo, decode_tcpvegas_info, decode_tcp_dctcp_info,
decode_tcp_bbr_info): Use it and PRINT_FIELD_U to print structure
fields.
2017-06-30 21:38:49 +00:00
0522266f85 netlink_sock_diag: add const qualifiers
Add const qualifiers to auto variables and function arguments.
This change does not affect the code generated by the compiler,
the purpose of these "const" qualifiers is to highlight the intent.

* netlink_sock_diag.c (print_meminfo, decode_meminfo,
decode_inet_diag_meminfo, decode_tcpvegas_info, decode_tcp_dctcp_info,
decode_tcp_bbr_info): Add const qualifier to tcp, addr, and len
arguments.
2017-06-30 21:38:49 +00:00
JingPiao Chen
09b5362f11 netlink: decode AF_INET inet_diag_msg attributes
* linux/inet_diag.h (inet_diag_meminfo, tcpvegas_info,
tcp_dctcp_info, tcp_bbr_info): New structures.
* linux/sock_diag.h (SK_MEMINFO_VARS): New macro.
* netlink_sock_diag.c: Include  <linux/sock_diag.h>.
(print_meminfo, decode_meminfo, decode_inet_diag_meminfo,
decode_tcpvegas_info, decode_tcp_dctcp_info, decode_tcp_bbr_info):
New functions.
(inet_diag_msg_nla_decoders): New array.
(decode_inet_diag_msg): Use it.
2017-06-30 21:38:49 +00:00
91b87e65ff nlattr: add const qualifiers to auto variables and function arguments
This change does not affect the code generated by the compiler,
the purpose of these "const" qualifiers is to highlight the intent.

* nlattr.c (decode_nlattr_with_data, decode_nla_str, decode_nla_strn,
decode_nla_##name): Add const qualifier to tcp, addr, and len arguments.
2017-06-30 21:38:49 +00:00
JingPiao Chen
745ead6451 netlink: introduce nla_decoder_t to parse netlink attributes data
* nlattr.h (nla_decoder_t): New typedef.
(DECL_NLA): New macro.
(decode_nlattr): Add decoders, size and opaque_data argument.
* nlattr.c: (decode_nlattr_with_data): Likewise.
(decode_nla_*): New functions.
* netlink_sock_diag.c (decode_inet_diag_req_compat)
(decode_inet_diag_req_v2, decode_inet_diag_msg)
(decode_netlink_diag_msg, (decode_packet_diag_msg)
(decode_smc_diag_msg, decode_unix_diag_msg): Add decoders,
size and opaque_data arguments. All callers updated.

Co-authored-by: Fabien Siron <fabien.siron@epita.fr>
2017-06-30 21:38:49 +00:00
JingPiao Chen
a07665e308 netlink: add a basic netlink attribute parser of AF_SMC diag
* netlink_sock_diag.c: Include "xlat/smc_diag_attrs.h".
(decode_smc_diag_msg): Use decode_nlattr.
* xlat/smc_diag_attrs.in: New file.
2017-06-30 21:38:49 +00:00
JingPiao Chen
ab17493bb2 netlink: add a basic netlink attribute parser of AF_INET diag
* linux/inet_diag.h (INET_DIAG_REQ_*): New enum.
* netlink_sock_diag.c: Include "xlat/inet_diag_attrs.h"
and "xlat/inet_diag_req_attrs.h".
(decode_inet_diag_req_compat, decode_inet_diag_req_v2,
 decode_inet_diag_msg): Use decode_nlattr.
* xlat/inet_diag_attrs.in: New file.
* xlat/inet_diag_req_attrs.in: Likewise.

Co-authored-by: Fabien Siron <fabien.siron@epita.fr>
2017-06-30 21:38:49 +00:00
JingPiao Chen
6cc89c0314 netlink: add a basic netlink attribute parser of AF_PACKET diag
* linux/packet_diag.h (PACKET_DIAG_*): New enum.
* netlink_sock_diag.c: Include "xlat/packet_diag_attrs.h".
(decode_packet_diag_msg): Use decode_nlattr.
* xlat/packet_diag_attrs.in: New file.

Co-authored-by: Fabien Siron <fabien.siron@epita.fr>
2017-06-30 21:38:49 +00:00
JingPiao Chen
4c511a1c99 netlink: add a basic netlink attribute parser of AF_NETLINK diag
* linux/netlink_diag.h (NETLINK_DIAG_*): New enum.
* netlink_sock_diag.c: Include "xlat/netlink_diag_attrs.h".
(decode_netlink_diag_msg): Use decode_nlattr.
* xlat/netlink_diag_attrs.in: New file.

Co-authored-by: Fabien Siron <fabien.siron@epita.fr>
2017-06-30 21:38:49 +00:00
4817a2925d netlink_sock_diag: ensure that structure field names are printed properly
* netlink_sock_diag.c (PRINT_FIELD_U, PRINT_FIELD_COOKIE,
PRINT_FIELD_FLAGS, PRINT_FIELD_XVAL): New macros.
(decode_unix_diag_req, decode_unix_diag_msg, decode_netlink_diag_req,
decode_netlink_diag_msg, decode_packet_diag_req, decode_packet_diag_msg,
print_inet_diag_sockid, decode_inet_diag_req_compat,
decode_inet_diag_req_v2, decode_inet_diag_msg, decode_smc_diag_req,
decode_smc_diag_msg): Use them to print structure fields.
2017-06-29 09:22:52 +00:00
Gleb Fotengauer-Malinovskiy
89e2e64936 Update ioctl entries from linux v4.12-rc7
* linux/32/ioctls_inc_align16.h: Update from linux v4.12-rc7
(with f7a320ff commit applied on top) using ioctls_gen.sh.
* linux/32/ioctls_inc_align32.h: Likewise.
* linux/32/ioctls_inc_align64.h: Likewise.
* linux/64/ioctls_inc.h: Likewise.
* linux/x32/ioctls_inc0.h: Likewise.
* NEWS: Mention this.
2017-06-29 09:20:36 +00:00
Gleb Fotengauer-Malinovskiy
16f1b5ca72 maint: fix ioctls_sym.sh premature termination
When the list of headers do not fit into the command line, xargs splits
it into several lists and then passes them to grep.  If no headers from
a list match the grep pattern, grep exits with a non-zero status that
causes xargs to exit with a non-zero status, too.

* maint/ioctls_sym.sh: Use "find -exec +" instead of xargs,
ignore its exit status.
2017-06-29 09:17:18 +00:00
JingPiao Chen
663b4f8273 tests: introduce NLMSG_ATTR macro
* tests/tests.h (NLMSG_ATTR): New macro.
* tests/nlattr.c (test_nlattr, test_nla_type): Use it.
2017-06-27 09:43:18 +00:00
JingPiao Chen
54aed21036 netlink: pass NLMSG_DONE messages to family specific payload decoders
While many NLMSG_DONE messages indeed have payload containing
just one integer, there are exceptions. Handle this by passing
payloads of NLMSG_DONE messages to family specific netlink
payload decoders.

* netlink.c (print_nlmsghdr): Do not skip family detection
for nlmsg_type == NLMSG_DONE.
(decode_nlmsg_type): Skip family specific type decoders
for type == NLMSG_DONE.
(decode_nlmsg_flags): Skip family specific decoding of flags
for type == NLMSG_DONE.
(decode_netlink_sock_diag): Skip for nlmsg_type == NLMSG_DONE.
2017-06-27 09:37:09 +00:00
2698d1d060 Unexport die_out_of_memory
Print more specific error diagnostics than a generic "Out of memory"
when an error happens outside xmalloc.c.

* defs.h (die_out_of_memory): Remove prototype.
* strace.c (strace_popen, init): Call perror_msg_and_die instead
of die_out_of_memory.
* unwind.c (unwind_tcb_init): Likewise.
* xmalloc.c (die_out_of_memory): Add static qualifier.
2017-06-26 22:41:28 +00:00
11621507fb Check -s argument early
* util.c (printstr_ex): Move the check that -s argument
does not exceed -1U / 4 ...
* strace.c (init): ... here.
* tests/options-syntax.test: Check it.
2017-06-26 22:30:19 +00:00
4a2a9a7cb1 Include "netlink.h" instead of <linux/netlink.h>
* net.c: Include "netlink.h" instead of <linux/netlink.h>.
* sockaddr.c: Likewise.
* tests/create_nl_socket.c: Likewise.
* tests/net-sockaddr.c: Likewise.
* tests/netlink_audit.c: Likewise.
* tests/netlink_generic.c: Likewise.
* tests/netlink_inet_diag.c: Likewise.
* tests/netlink_netfilter.c: Likewise.
* tests/netlink_route.c: Likewise.
* tests/netlink_selinux.c: Likewise.
* tests/netlink_xfrm.c: Likewise.
* tests/net-yy-netlink.c: Include "netlink.h" instead
of <linux/netlink.h>, remove fallback definition of NETLINK_SOCK_DIAG.
* tests/netlink_netlink_diag.c: Likewise.
* tests/netlink_protocol.c: Likewise.
* tests/netlink_sock_diag.c: Likewise.
* tests/netlink_unix_diag.c: Likewise.
* tests/nlattr.c: Likewise.
2017-06-25 00:40:29 +00:00
fd68eabd59 netlink: provide a fallback definition of NETLINK_SOCK_DIAG
Add a fallback definition of NETLINK_SOCK_DIAG to netlink.h
instead of adding these fallback definitions to every file.

* netlink.h: Provide a fallback definition of NETLINK_SOCK_DIAG.
* socketutils.c: Include "netlink.h" instead of <linux/netlink.h>,
remove fallback definition of NETLINK_SOCK_DIAG.
2017-06-24 22:25:28 +00:00
4ec744efce Update prctl ARCH_* constants
* xlat/archvals.in: Add ARCH_GET_CPUID and ARCH_SET_CPUID
introduced by linux kernel commit v4.12-rc1~153^2~2.
2017-06-23 00:31:49 +00:00
586bf2605d Update V4L2_* constants
* xlat/v4l2_buf_types.in: Add V4L2_BUF_TYPE_META_CAPTURE introduced
by linux kernel commit v4.12-rc1~85^2~71.
* xlat/v4l2_device_capabilities_flags.in: Add V4L2_CAP_META_CAPTURE
introduced by the same commit.
* xlat/v4l2_control_flags.in: Add V4L2_CTRL_FLAG_HAS_PAYLOAD,
V4L2_CTRL_FLAG_EXECUTE_ON_WRITE, and V4L2_CTRL_FLAG_MODIFY_LAYOUT
introduced by linux kernel commits v3.17-rc1~112^2~363,
v4.1-rc1~59^2~1^2~63, and v4.12-rc1~85^2~62, respectively.
* xlat/v4l2_control_types.in: Add V4L2_CTRL_TYPE_U8, V4L2_CTRL_TYPE_U16,
and V4L2_CTRL_TYPE_U32 introduced by linux kernel commits
v3.17-rc1~112^2~343 and v3.17-rc1~112^2~112.
2017-06-22 21:48:00 +00:00
683f747adf Update SCTP_* constants
* xlat/socksctpoptions.in: Add SCTP_ENABLE_STREAM_RESET,
SCTP_RESET_STREAMS, SCTP_RESET_ASSOC, SCTP_ADD_STREAMS,
SCTP_RECONFIG_SUPPORTED, and SCTP_PR_STREAM_STATUS introduced
by linux kernel commits v4.11-rc1~124^2~387^2~1, v4.11-rc1~124^2~387^2,
v4.11-rc1~124^2~166^2~2, v4.11-rc1~124^2~166^2, v4.12-rc1~64^3~469^2,
and v4.12-rc1~64^3~276, respectively.
2017-06-22 21:42:00 +00:00
b3b6e66154 Update RTM_* constants
* xlat/nl_route_types.in: Add RTM_DELNETCONF introduced
by linux kernel commit v4.12-rc1~64^3~312^2~6.
2017-06-22 18:36:35 +00:00
88f4d1a528 Update NDIAG_SHOW_* constants
* linux/netlink_diag.h (NDIAG_SHOW_FLAGS): New constant introduced
by linux kernel commit v4.12-rc1~64^3~260.
* xlat/netlink_diag_show.in: Add it.
2017-06-22 18:31:49 +00:00
91d7f7b2b0 Update KEYCTL_* constants
* xlat/keyctl_commands.in: Add KEYCTL_RESTRICT_KEYRING introduced
by linux kernel commit v4.12-rc1~123^2~7^2~2^2~3.
2017-06-22 18:23:08 +00:00
56f95bbf60 Update ARPHRD_* constants
* xlat/arp_hardware_types.in: Add ARPHRD_VSOCKMON introduced
by linux kernel commit v4.12-rc1~129^2~118^2~2.
2017-06-22 18:18:05 +00:00
2337c8c734 Update SO_* constants
* xlat/sockoptions.in: Add SO_MEMINFO, SO_INCOMING_NAPI_ID,
and SO_COOKIE introduced by linux kernel commits v4.12-rc1~64^3~389,
v4.12-rc1~64^3~341^2, and v4.12-rc1~64^3~221^2~1, respectively.
2017-06-22 18:08:24 +00:00
012e650b08 tests: check more corner cases of nlattr decoding
* tests/nlattr.c (test_nlattr): Check decoding in case of invalid
struct nlattr.nla_len.
2017-06-21 16:36:33 +00:00
JingPiao Chen
1794dea92e tests: check decoding of netlink attribute
* tests/nlattr.c: New file.
* tests/gen_tests.in (nlattr): New entry.
* tests/pure_executables.list: Add nlattr.
* tests/.gitignore: Likewise.
2017-06-21 16:36:33 +00:00
JingPiao Chen
d851f5695d netlink: introduce a basic netlink attributes parser
* linux/unix_diag.h (UNIX_DIAG_*): New enum.
* nlattr.c: New file.
* nlattr.h: Likewise.
* Makefile.am (strace_SOURCES): Add them.
* netlink_sock_diag.c: Include "nlattr.h" and "xlat/unix_diag_attrs.h".
(decode_unix_diag_msg): Use decode_nlattr.
* xlat/unix_diag_attrs.in: New file.

Co-authored-by: Fabien Siron <fabien.siron@epita.fr>
2017-06-21 16:36:33 +00:00
JingPiao Chen
72ecbdb9f3 netlink: introduce netlink.h
* netlink.h: New file.
* Makefile.am (strace_SOURCES): Add it.
* netlink_sock_diag.c: Include "netlink.h",
remove <sys/socket.h> and <linux/netlink.h>.
* netlink.c: Likewise.
(NLMSG_HDRLEN): Move to netlink.h.
* tests/netlink_protocol.c: Replace <linux/netlink.h> with "netlink.h".
* tests/netlink_sock_diag.c: Likewise.
2017-06-21 16:31:04 +00:00
a726fa5c35 tests: add SET_STRUCT macro to tests.h
* tests/netlink_sock_diag.c (INIT_STRUCT): Rename to SET_STRUCT,
all callers updated.  Move ...
* tests/tests.h: ... here.
2017-06-20 17:41:59 +00:00
0fb4b6e0cb tests: fix potential unaligned access in netlink_sock_diag.test
Despite our efforts made to avoid unaligned access, gcc appears to be
generating instructions that might cause unaligned access when copying
structures to unaligned addresses.

Fix this issue by replacing copying of structures to unaligned addresses
with memcpy calls.

* tests/netlink_sock_diag.c (INIT_STRUCT): New macro.
(test_odd_family_req, test_odd_family_msg, test_unix_diag_req,
test_unix_diag_msg, test_netlink_diag_req, test_netlink_diag_msg,
test_packet_diag_req, test_packet_diag_msg, test_inet_diag_sockid,
test_inet_diag_req, test_inet_diag_req_v2, test_inet_diag_msg,
test_smc_diag_req, test_smc_diag_msg): Use it to initialize potentially
unaligned struct nlmsghdr.  Do not access nlh->nlmsg_len.
2017-06-19 21:45:58 +00:00
Masatake YAMATO
c7f371df30 tests: check decoding of NETLINK_GENERIC message types
* tests/netlink_generic.c: New file.
* tests/gen_tests.in (netlink_generic): New entry.
* tests/pure_executables.list: Add netlink_generic.
* tests/.gitignore: Likewise.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2017-06-19 21:45:58 +00:00
Masatake YAMATO
dc84eddc81 netlink: add decoding of NETLINK_GENERIC protocol families
NETLINK_GENERIC is a protocol stacked on netlink protocol.

When a NETLINK_GENERIC subsystem registers its "family" name in the
kernel at run time, an integer value associated with this name is
assigned by the kernel.  This integer value is specified in struct
nlmsghdr.nlmsg_type of subsequent communications with the
NETLINK_GENERIC subsystem.

This change implements decoding of NETLINK_GENERIC message types in
symbolic form, for example:

  $ ./strace -yy -e 'sendto' ip tcp_metrics > /dev/null
  sendto(4<NETLINK:[GENERIC:12345]>, {{len=20, type=tcp_metrics, ...
  +++ exited with 0 +++

Note that type= specifying the NETLINK_GENERIC protocol family
is decoded properly.

* netlink.c (decode_nlmsg_type_generic): New function.
(nlmsg_types): Add NETLINK_GENERIC entry.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2017-06-19 21:45:58 +00:00
Masatake YAMATO
641f3ef7b6 socketutils: build a dynamic xlat table for NETLINK_GENERIC decoding
* configure.ac (AC_CHECK_HEADERS): Add linux/genetlink.h.
* defs.h (genl_families_xlat): New prototype.
* socketutils.c [HAVE_LINUX_GENETLINK_H]: Include <linux/genetlink.h>.
[HAVE_LINUX_GENETLINK_H] (genl_send_dump_families,
genl_parse_families_response): New helper functions.
(genl_families_xlat): New function for building the xlat table
for NETLINK_GENERIC decoding.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2017-06-19 21:45:58 +00:00
Masatake YAMATO
5dca1b261b dyxlat: new interface for building xlat tables dynamically
xlat tables are usually generated at build time.

printxval is suitable for printing struct nlmsghdr.nlmsg_type for
NETLINK_GENERIC protocol.  However, the corresponding xlat table
cannot be defined at build time because the values are registered
by the kernel at run time.

This change introduces dyxlat functions for building xlat tables
dynamically.  The primary use case is decoding nlmsg_type but this
interface can be used for other purposes.

* defs.h (struct dyxlat): New opaque data type.
(dyxlat_alloc, dyxlat_free, dyxlat_add_pair): New function declarations.
* dyxlat.c: New file.
* Makefile.am (strace_SOURCES): Add it.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2017-06-19 21:45:58 +00:00
Masatake YAMATO
d10d64820f Introduce xstrndup function
* configure.ac (AC_CHECK_FUNCS): Add strndup.
* defs.h (xstrndup): New prototype.
* xmalloc.c (xstrndup): New function.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
2017-06-19 21:45:58 +00:00
f639f90241 netlink: do not print extra braces around payloadless nlmsghdr
* netlink.c (decode_nlmsghdr_with_payload): Print braces before
print_nlmsghdr and after decode_payload iff decode_payload is invoked.
* tests/netlink_audit.c (test_nlmsg_type): Update expected output.
* tests/netlink_netfilter.c: Likewise.
* tests/netlink_selinux.c: Likewise.
* tests/netlink_protocol.c (send_query): Likewise.
* tests/netlink_route.c (test_nlmsg_type, test_nlmsg_flags): Likewise.
* tests/netlink_sock_diag.c: Likewise.
* tests/netlink_xfrm.c: Likewise.
2017-06-18 21:43:39 +00:00
08100cd774 Strip argument name of type "struct tcb *" from function prototypes
"struct tcb *" was used in most prototypes along with "struct tcb *tcp",
this change converts the latter form to the former for consistency.
2017-06-17 23:46:01 +00:00
184e94ba05 Fix a few spacing style issues
Reported by kernel's checkpatch.pl script.
2017-06-17 22:54:08 +00:00