On Thu, Jul 06, 2017 at 02:48:51PM +0300, Dmitry V. Levin wrote: > On Thu, Jul 06, 2017 at 09:57:31AM +0800, JingPiao Chen wrote: > > commit v4.17-161-gdbd0605 adjust TEST_NLATTR_OBJECT and > > TEST_NLATTR_ARRAY for large objects, only change the pattern > > print length, still pass a big length for nla_data_len, do not > > change strace output, still output '"STR"...'. > > > > * tests/test_nlattr.h (TEST_NLATTR_OBJECT, TEST_NLATTR_ARRAY): > > In case of len < sizeof(object), pass plen as nla_data_len and slen. > > --- > > tests/test_nlattr.h | 6 ++---- > > 1 file changed, 2 insertions(+), 4 deletions(-) > > > > diff --git a/tests/test_nlattr.h b/tests/test_nlattr.h > > index 9c15c33..4a2af02 100644 > > --- a/tests/test_nlattr.h > > +++ b/tests/test_nlattr.h > > @@ -108,8 +108,7 @@ print_nlattr(const unsigned int nla_len, const char > > *const nla_type) > > TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \ > > (init_msg_), (print_msg_), \ > > (nla_type_), #nla_type_, \ > > - sizeof(obj_) - 1, \ > > - (pattern_), sizeof(obj_) - 1, \ > > + plen, (pattern_), plen, \ > > print_quoted_hex((pattern_), plen)); \ > > /* short read of sizeof(obj_) */ \ > > TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \ > > @@ -139,8 +138,7 @@ print_nlattr(const unsigned int nla_len, const char > > *const nla_type) > > TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \ > > (init_msg_), (print_msg_), \ > > (nla_type_), #nla_type_, \ > > - sizeof((obj_)[0]) - 1, \ > > - (pattern_), sizeof((obj_)[0]) - 1, \ > > + plen, (pattern_), plen, \ > > print_quoted_hex((pattern_), plen)); \ > > /* sizeof((obj_)[0]) < len < sizeof(obj_) */ \ > > TEST_NLATTR_((fd_), (nlh0_), (hdrlen_), \ > > I don't see why this change is needed. I thought it's fine to pass an > object larger than plen as long as it's smaller than expected by strace.
I think you can apply [PATCH v4 03/11], [PATCH v4 04/11] and [PATCH v4 06/11] to see what happen, test log above: -{{nla_len=47, nla_type=PACKET_DIAG_MCLIST}, "abcdefghijklmnopqrstuvwxyzabcdef"}} +{{nla_len=47, nla_type=PACKET_DIAG_MCLIST}, "abcdefghijklmnopqrstuvwxyzabcdef"...}} --- exp 2017-07-06 22:54:20.617639241 +0800 +++ log 2017-07-06 22:54:20.617639241 +0800 @@ -1,5 +1,5 @@ -sendto(3, {{len=79, type=SOCK_DIAG_BY_FAMILY, flags=NLM_F_DUMP, seq=0, pid=0}, {pdiag_family=AF_PACKET, pdiag_type=SOCK_STREAM, pdiag_num=0, pdiag_ino=0, pdiag_cookie=[0, 0]}, {{nla_len=47, nla_type=PACKET_DIAG_MCLIST}, "abcdefghijklmnopqrstuvwxyzabcdef"}}, 79, MSG_DONTWAIT, NULL, 0) = 79 -sendto(3, {{len=123, type=SOCK_DIAG_BY_FAMILY, flags=NLM_F_DUMP, seq=0, pid=0}, {pdiag_family=AF_PACKET, pdiag_type=SOCK_STREAM, pdiag_num=0, pdiag_ino=0, pdiag_cookie=[0, 0]}, {{nla_len=91, nla_type=PACKET_DIAG_MCLIST}, [{pdmc_index=if_nametoindex("lo"), pdmc_count=2882383612, pdmc_type=52655, pdmc_alen=4, pdmc_addr=1234}]}}, 123, MSG_DONTWAIT, NULL, 0) = 123 -sendto(3, {{len=124, type=SOCK_DIAG_BY_FAMILY, flags=NLM_F_DUMP, seq=0, pid=0}, {pdiag_family=AF_PACKET, pdiag_type=SOCK_STREAM, pdiag_num=0, pdiag_ino=0, pdiag_cookie=[0, 0]}, {{nla_len=92, nla_type=PACKET_DIAG_MCLIST}, [{pdmc_index=if_nametoindex("lo"), pdmc_count=2882383612, pdmc_type=52655, pdmc_alen=4, pdmc_addr=1234}, 0x7f09e2a90fd5]}}, 124, MSG_DONTWAIT, NULL, 0) = -1 EFAULT (Bad address) -sendto(3, {{len=124, type=SOCK_DIAG_BY_FAMILY, flags=NLM_F_DUMP, seq=0, pid=0}, {pdiag_family=AF_PACKET, pdiag_type=SOCK_STREAM, pdiag_num=0, pdiag_ino=0, pdiag_cookie=[0, 0]}, {{nla_len=92, nla_type=PACKET_DIAG_MCLIST}, [{pdmc_index=if_nametoindex("lo"), pdmc_count=2882383612, pdmc_type=52655, pdmc_alen=4, pdmc_addr=1234}, {pdmc_index=if_nametoindex("lo"), pdmc_count=3673156348, pdmc_type=44527, pdmc_alen=4, pdmc_addr=5678}]}}, 124, MSG_DONTWAIT, NULL, 0) = 124 +sendto(3, {{len=79, type=SOCK_DIAG_BY_FAMILY, flags=NLM_F_DUMP, seq=0, pid=0}, {pdiag_family=AF_PACKET, pdiag_type=SOCK_STREAM, pdiag_num=0, pdiag_ino=0, pdiag_cookie=[0, 0]}, {{nla_len=47, nla_type=PACKET_DIAG_MCLIST}, "abcdefghijklmnopqrstuvwxyzabcdef"...}}, 79, MSG_DONTWAIT, NULL, 0) = 79 +sendto(3, {{len=123, type=SOCK_DIAG_BY_FAMILY, flags=NLM_F_DUMP, seq=0, pid=0}, {pdiag_family=AF_PACKET, pdiag_type=SOCK_STREAM, pdiag_num=0, pdiag_ino=0, pdiag_cookie=[0, 0]}, {{nla_len=91, nla_type=PACKET_DIAG_MCLIST}, [{pdmc_index=if_nametoindex("lo"), pdmc_count=2882383612, pdmc_type=52655, pdmc_alen=4, pdmc_addr="1234"}]}}, 123, MSG_DONTWAIT, NULL, 0) = 123 +sendto(3, {{len=124, type=SOCK_DIAG_BY_FAMILY, flags=NLM_F_DUMP, seq=0, pid=0}, {pdiag_family=AF_PACKET, pdiag_type=SOCK_STREAM, pdiag_num=0, pdiag_ino=0, pdiag_cookie=[0, 0]}, {{nla_len=92, nla_type=PACKET_DIAG_MCLIST}, [{pdmc_index=if_nametoindex("lo"), pdmc_count=2882383612, pdmc_type=52655, pdmc_alen=4, pdmc_addr="1234"}, 0x7f09e2a90fd5]}}, 124, MSG_DONTWAIT, NULL, 0) = -1 EFAULT (Bad address) +sendto(3, {{len=124, type=SOCK_DIAG_BY_FAMILY, flags=NLM_F_DUMP, seq=0, pid=0}, {pdiag_family=AF_PACKET, pdiag_type=SOCK_STREAM, pdiag_num=0, pdiag_ino=0, pdiag_cookie=[0, 0]}, {{nla_len=92, nla_type=PACKET_DIAG_MCLIST}, [{pdmc_index=if_nametoindex("lo"), pdmc_count=2882383612, pdmc_type=52655, pdmc_alen=4, pdmc_addr="1234"}, {pdmc_index=if_nametoindex("lo"), pdmc_count=3673156348, pdmc_type=44527, pdmc_alen=4, pdmc_addr="5678"}]}}, 124, MSG_DONTWAIT, NULL, 0) = 124 +++ exited with 0 +++ -- JingPiao Chen ------------------------------------------------------------------------------ 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