From: Jan Stancek <jstancek@redhat.com>
To: Chuck Ebbert <cebbert.lkml@gmail.com>
Cc: ltp-list@lists.sourceforge.net
Subject: Re: [LTP] recvfrom01: fix test for invalid message flags
Date: Tue, 6 Jan 2015 05:07:34 -0500 (EST) [thread overview]
Message-ID: <53591103.3121779.1420538854789.JavaMail.zimbra@redhat.com> (raw)
In-Reply-To: <20141001171032.698f1356@as>
----- Original Message -----
> From: "Chuck Ebbert" <cebbert.lkml@gmail.com>
> To: ltp-list@lists.sourceforge.net
> Sent: Thursday, 2 October, 2014 12:10:32 AM
> Subject: [LTP] recvfrom01: fix test for invalid message flags
>
> Note that this introduces a failure on kernels before 3.17, which has
> a bug fix for MSG_ERRQUEUE flag handling. This failure is a legitimate
> bug on these older kernels. (They should not be returning success with
> no data available.)
I hit a failure in this testcase while trying latest LTP before release.
Are you sure this is a bug?
Looking at commit history and man-pages, this looks more like new feature to me,
flag that has not been supported before and now it is.
"MSG_ERRQUEUE is illegal on SOCK_STREAM sockets." [1]
"TCP timestamping introduced MSG_ERRQUEUE handling for TCP sockets." [2][3]
Until commit [3], tcp_recvmsg() has ignored this flag and it was also documented
that way. So, I don't see why TFAIL is valid result on <3.17 for MSG_ERRQUEUE test:
socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(59273), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
select(4, [3], NULL, NULL, {2, 0}) = 1 (in [3], left {1, 999998})
recvfrom(3, "hoser\n", 1024, MSG_ERRQUEUE, NULL, NULL) = 6
Regards,
Jan
[1] https://lkml.org/lkml/2006/9/18/182
[2] f4713a3dfad045d46afcb9c2a7d0bba288920ed4
[3] 4ed2d765dfaccff5ebdac68e2064b59125033a3b
>
> [1] http://marc.info/?t=141148149900006&r=1&w=2
>
> ---
>
> Additional test cases for invalid flags could be added after these two.
> And the recv01 and recvmsg01 tests need still need to be fixed, assuming
> this is the right solution.
>
> --- a/testcases/kernel/syscalls/recvfrom/recvfrom01.c
> +++ b/testcases/kernel/syscalls/recvfrom/recvfrom01.c
> @@ -115,9 +115,14 @@
> -1, EFAULT, setup1, cleanup1, "invalid recv buffer"},
> /* 6 */
> {
> - PF_INET, SOCK_STREAM, 0, (void *)buf, sizeof(buf), -1,
> + PF_INET, SOCK_STREAM, 0, (void *)buf, sizeof(buf), MSG_OOB,
> (struct sockaddr *)&from, &fromlen,
> - -1, EINVAL, setup1, cleanup1, "invalid flags set"},};
> + -1, EINVAL, setup1, cleanup1, "invalid MSG_OOB flag set"},
> +/* 7 */
> + {
> + PF_INET, SOCK_STREAM, 0, (void *)buf, sizeof(buf), MSG_ERRQUEUE,
> + (struct sockaddr *)&from, &fromlen,
> + -1, EAGAIN, setup1, cleanup1, "invalid MSG_ERRQUEUE flag set"},};
>
> int TST_TOTAL = sizeof(tdat) / sizeof(tdat[0]);
>
>
> ------------------------------------------------------------------------------
> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
> Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
> Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
> http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
> _______________________________________________
> Ltp-list mailing list
> Ltp-list@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/ltp-list
>
------------------------------------------------------------------------------
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
next prev parent reply other threads:[~2015-01-06 10:07 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-01 22:10 [LTP] recvfrom01: fix test for invalid message flags Chuck Ebbert
2014-10-27 10:20 ` Cyril Hrubis
2014-11-26 11:38 ` Cyril Hrubis
2015-01-06 10:07 ` Jan Stancek [this message]
2015-01-08 10:43 ` Cyril Hrubis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53591103.3121779.1420538854789.JavaMail.zimbra@redhat.com \
--to=jstancek@redhat.com \
--cc=cebbert.lkml@gmail.com \
--cc=ltp-list@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox