lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:	Tue, 14 Feb 2012 13:27:40 +0100
From:	Bernd Petrovitsch <bernd@...rovitsch.priv.at>
To:	K K <knewsgroup@...il.com>
Cc:	linux-kernel@...r.kernel.org, kernelnewbies@...nelnewbies.org,
	adam.li@...el.com
Subject: Re: Does the mq_timedreceive() fully implement the POSIX
 specification?

Hi!

[ also Cc: the email address on the top on the test case. Therefore
self-quoting for the rest of the thread. ]

On Mon, 2012-02-13 at 09:51 +0100, Bernd Petrovitsch wrote:
> On Mon, 2012-02-13 at 10:30 +0800, K K wrote:
> [....]
> > I am doing POSIX test on linux. And for mq_timedreceive() in POSIX spec
> > 2008 Issue 7, Line 43787:
> > 
> >   The validity of the abstime parameter need not be checked if a
> >   message can be removed from the message queue immediately.
> > 
> > But when I run test case mq_timedreceive/10-2 of POSIX suite (can be viewed
> > at :
> > http://ltp.git.sourceforge.net/git/gitweb.cgi?p=ltp/ltp.git;a=blob;f=testcases/open_posix_testsuite/conformance/interfaces/mq_timedreceive/10-2.c;h=49ee4f243fc5046a965a551650d8697217faac35;hb=HEAD),
> > mq_timedreceive() could get the message without wait, but the timeout is
> > still validated.
> > 
> > Do we intend to do so, or the implementation needs update?
> 
> I'm not a native English speaker but there is IMHO no problem as the
> above quoted part of POSIX simply does not require the check in that
> case. But it doesn't forbid the check.

On Die, 2012-02-14 at 14:44 +0800, K K wrote:
[...]
> Under no circumstance shall the operation fail with a timeout if a message
> can be removed from
> the message queue immediately. The validity of the abstime parameter need
> not be checked if a
> message can be removed from the message queue immediately.
> 
> It seems that the first sentence is more affirmative that the timeout
> should not be checked when a message can be removed from message queue
> immediately.
> How do you think?

Well, and the sys-call actually does not fail with a *timeout* - which
is indicated with a return value == -1 and errno == ETIMEDOUT if I read
http://pubs.opengroup.org/onlinepubs/009695399/functions/mq_receive.html
correctly - but with some another error - return value == -1 and errno
== EINVAL.
So the first quoted sentence actually doesn't apply IMHO.

The test description in the second comment on 
http://ltp.git.sourceforge.net/git/gitweb.cgi?p=ltp/ltp.git;a=blob;f=testcases/open_posix_testsuite/conformance/interfaces/mq_timedreceive/10-2.c;h=49ee4f243fc5046a965a551650d8697217faac35;hb=HEAD
reparaphrases the above quoted part incorrectly IMHO. The test
implements the description at the top though.


	Bernd
-- 
Bernd Petrovitsch                  Email : bernd@...rovitsch.priv.at
                     LUGA : http://www.luga.at

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ