[PATCH 02/27] netlink: add a basic parser of NETLINK_CRYPTO messages
Dmitry V. Levin
ldv at altlinux.org
Sat Jul 22 18:53:37 UTC 2017
On Sat, Jul 22, 2017 at 08:43:32PM +0800, JingPiao Chen wrote:
> * configure.ac (AC_CHECK_DECLS): Add CRYPTO_MSG_DELRNG.
> * netlink_crypto.c: New file.
> * Makefile.am (strace_SOURCES): Add it.
> * defs.h (decode_netlink_crypto): New prototype.
> * netlink.c (netlink_decoders): Add NETLINK_CRYPTO.
> * xlat/crypto_nl_attrs.in: New file.
> ---
> Makefile.am | 1 +
> configure.ac | 1 +
> defs.h | 3 ++
> netlink.c | 3 ++
> netlink_crypto.c | 92 +++++++++++++++++++++++++++++++++++++++++++++++++
> xlat/crypto_nl_attrs.in | 12 +++++++
> 6 files changed, 112 insertions(+)
> create mode 100644 netlink_crypto.c
> create mode 100644 xlat/crypto_nl_attrs.in
>
> diff --git a/Makefile.am b/Makefile.am
> index 8411f26..5d365e2 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -183,6 +183,7 @@ strace_SOURCES = \
> net.c \
> netlink.c \
> netlink.h \
> + netlink_crypto.c \
> netlink_sock_diag.h \
> netlink_inet_diag.c \
> netlink_netlink_diag.c \
> diff --git a/configure.ac b/configure.ac
> index 4f5bc02..2c6e254 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -520,6 +520,7 @@ AC_CHECK_DECLS(m4_normalize([
> ]),,, [#include <linux/loop.h>])
>
> AC_CHECK_DECLS(m4_normalize([
> + CRYPTO_MSG_DELRNG,
> CTL_PROC,
> CTL_ARLAN,
> CTL_S390DBF,
Why CRYPTO_MSG_DELRNG is checked in linux/sysctl.h?
> diff --git a/defs.h b/defs.h
> index 4048915..9d99575 100644
> --- a/defs.h
> +++ b/defs.h
> @@ -711,6 +711,9 @@ typedef bool (*netlink_decoder_t)(struct tcb *, const struct nlmsghdr *,
> extern bool \
> decode_netlink_ ## name(struct tcb *, const struct nlmsghdr *, \
> kernel_ulong_t addr, unsigned int len)
> +#ifdef HAVE_LINUX_CRYPTOUSER_H
> +DECL_NETLINK(crypto);
> +#endif
> DECL_NETLINK(selinux);
> DECL_NETLINK(sock_diag);
Why decode_netlink_crypto declaration is ifdef'ed?
[...]
> +bool
> +decode_netlink_crypto(struct tcb *const tcp,
> + const struct nlmsghdr *const nlmsghdr,
> + const kernel_ulong_t addr,
> + const unsigned int len)
> +{
> + switch (nlmsghdr->nlmsg_type) {
> + case CRYPTO_MSG_NEWALG:
> + case CRYPTO_MSG_DELALG:
> + case CRYPTO_MSG_UPDATEALG:
> + case CRYPTO_MSG_GETALG:
> + decode_crypto_user_alg(tcp, addr, len);
> + break;
> +#ifdef HAVE_CRYPTO_MSG_DELRNG
> + case CRYPTO_MSG_DELRNG:
> +#endif
> + default:
> + return false;
> + }
Is CRYPTO_MSG_DELRNG case needed?
--
ldv
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.strace.io/pipermail/strace-devel/attachments/20170722/2afb8727/attachment.bin>
More information about the Strace-devel
mailing list