On Sat, Jul 15, 2017 at 12:22:57AM +0800, JingPiao Chen wrote: > On Fri, Jul 14, 2017 at 01:16:37PM +0800, JingPiao Chen wrote: > [...] > > +static void > > +test_selnl_msg_setenforce(const int fd) > > +{ > > + void *const nlh0 = tail_alloc(NLMSG_HDRLEN); > > + static char pattern[4096]; > > + fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); > > + > > + static const struct selnl_msg_setenforce msg = { > > + .val = 0xfbdcdfab > > + }; > > + TEST_NETLINK_OBJECT(fd, nlh0, > > + SELNL_MSG_SETENFORCE, NLM_F_REQUEST, > > + pattern, msg, > > + PRINT_FIELD_D("{", msg, val); > > + printf("}")); > > +} > > + > > +static void > > +test_selnl_msg_policyload(const int fd) > > +{ > > + void *const nlh0 = tail_alloc(NLMSG_HDRLEN); > > + static char pattern[4096]; > > + fill_memory_ex(pattern, sizeof(pattern), 'a', 'z' - 'a' + 1); > > Move ... > > > + > > + static const struct selnl_msg_policyload msg = { > > + .seqno = 0xabdcfabc > > + }; > > + TEST_NETLINK_OBJECT(fd, nlh0, > > + SELNL_MSG_POLICYLOAD, NLM_F_REQUEST, > > + pattern, msg, > > + PRINT_FIELD_U("{", msg, seqno); > > + printf("}")); > > +} > > + > > int main(void) > > { > > skip_if_unavailable("/proc/self/fd/"); > > @@ -57,6 +103,9 @@ int main(void) > > int fd = create_nl_socket(NETLINK_SELINUX); > > > > test_nlmsg_type(fd); > > + test_selnl_msg_unspec(fd); > > + test_selnl_msg_setenforce(fd); > > + test_selnl_msg_policyload(fd); > > > > printf("+++ exited with 0 +++\n"); > > > > diff --git a/tests/test_netlink.h b/tests/test_netlink.h > > index 7049128..b6f6ac9 100644 > > --- a/tests/test_netlink.h > > +++ b/tests/test_netlink.h > > @@ -45,3 +45,33 @@ > > (type_), #type_, \ > > (flags_), #flags_, \ > > (data_len_), (src_), (slen_), __VA_ARGS__) > > + > > +#define TEST_NETLINK_OBJECT(fd_, nlh0_, > > \ > > + type_, flags_, \ > > + pattern_, obj_, ...) \ > > + do { \ > > + const unsigned int plen = \ > > + sizeof(obj_) - 1 > DEFAULT_STRLEN \ > > + ? DEFAULT_STRLEN : (int) sizeof(obj_) - 1; \ > > ... here. The template of TEST_NETLINK_OBJECT is TEST_NLATTR_OBJECT. > I think pattern can declare here instead of in the caller. > If this thought is ok, I will send version 2.
Do you want to create a private pattern[4096] in every invocation of TEST_NETLINK_OBJECT macro? -- ldv
signature.asc
Description: PGP signature
------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel