2 * Copyright (c) 2017 JingPiao Chen <chenjingpiao@gmail.com>
3 * Copyright (c) 2017-2018 The strace developers.
6 * SPDX-License-Identifier: LGPL-2.1-or-later
11 #include "print_fields.h"
13 #include <linux/selinux_netlink.h>
16 decode_netlink_selinux(struct tcb *const tcp,
17 const struct nlmsghdr *const nlmsghdr,
18 const kernel_ulong_t addr,
19 const unsigned int len)
21 switch (nlmsghdr->nlmsg_type) {
22 case SELNL_MSG_SETENFORCE: {
23 struct selnl_msg_setenforce msg;
25 if (len < sizeof(msg))
26 printstr_ex(tcp, addr, len, QUOTE_FORCE_HEX);
27 else if (!umove_or_printaddr(tcp, addr, &msg)) {
28 PRINT_FIELD_D("{", msg, val);
33 case SELNL_MSG_POLICYLOAD: {
34 struct selnl_msg_policyload msg;
36 if (len < sizeof(msg))
37 printstr_ex(tcp, addr, len, QUOTE_FORCE_HEX);
38 else if (!umove_or_printaddr(tcp, addr, &msg)) {
39 PRINT_FIELD_U("{", msg, seqno);