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>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <483461DA.3060304@gmail.com>
Date:	Wed, 21 May 2008 19:54:34 +0200
From:	Michael Kerrisk <mtk.manpages@...glemail.com>
To:	Christoph Hellwig <hch@...radead.org>
CC:	Alan Cox <alan@...hat.com>, Eric Paris <eparis@...hat.com>,
	linux-kernel@...r.kernel.org, aviro@...hat.com, drepper@...hat.com,
	sds@...ho.nsa.gov, jmorris@...ei.org
Subject: Re: [RFC] correct flags to f_mode conversion in __dentry_open

Christoph Hellwig wrote:
> On Sat, Mar 15, 2008 at 05:59:52PM -0400, Alan Cox wrote:
>>> does 11 really mean and should it really always be mapped to (FMODE_READ
>>> | FMODE_WRITE) or should it continue to get mapped to 'no permission?'
>> We've always mapped 3 to "no permission" to read or write. It's a linuxism
> 
> I've tripped over this recently aswell.  It would for sure be useful
> to add a sumbolic O_FOO constant for this magic value '3' and document
> it in the manpage.

Late follow-up to this thread
(http://thread.gmane.org/gmane.linux.kernel/653123):
I propose to add the following text to the open(2) man page.

       Unlike the other values that can be specified  in  flags,
       the access mode values O_RDONLY, O_WRONLY, and O_RDWR, do
       not specify individual bits.  Rather, they define the low
       order  two bits of flags, and are defined respectively as
       0, 1, and 2.  In other words, the combination O_RDONLY  |
       O_WRONLY  is a logical error, and certainly does not have
       the same meaning as O_RDWR.  Linux reserves the  special,
       non-standard  access mode 3 (binary 11) in flags to mean:
       check for read and  write  permission  on  the  file  and
       return  a  descriptor  that  can't be used for reading or
       writing.  This non-standard access mode is used  by  some
       Linux  drivers  to return a descriptor that is only to be
       used for device-specific ioctl(2) operations.

Seem okay?

Cheers,

Michael

-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Found a bug? http://www.kernel.org/doc/man-pages/reporting_bugs.html

--
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