View Issue Details

IDProjectCategoryView StatusLast Update
00015221003.1(2016/18)/Issue7+TC2System Interfacespublic2024-06-11 09:07
Reportergeoffclare Assigned To 
PrioritynormalSeverityObjectionTypeError
Status ClosedResolutionAccepted 
NameGeoff Clare
OrganizationThe Open Group
User Reference
Sectionmkdir()
Page Number1316
Line Number43790
Interp Status---
Final Accepted Text
Summary0001522: mkdir() and S_ISVTX
DescriptionThe mkdir() description states:
When bits in mode other than the file permission bits are set, the meaning of these additional bits is implementation-defined.
This is old POSIX.1-199x text from before the merge with SUS, after which the S_ISVTX bit has a specified meaning for directories (when the XSI option is supported), as per the <sys/stat.h> description of S_ISVTX: "On directories, restricted deletion flag". This needs to be accounted for in the mkdir() description.

The umask() page also has a similar problem.
Desired ActionOn page 1316 line 43787 section mkdir(), change:
The mkdir() function shall create a new directory with name path. The file permission bits of the new directory shall be initialized from mode. These file permission bits of the mode argument shall be modified by the process' file creation mask.

When bits in mode other than the file permission bits are set, the meaning of these additional bits is implementation-defined.
to:
The mkdir() function shall create a new directory with name path. The file permission bits [XSI]and S_ISVTX bit[/XSI]of the new directory shall be initialized from mode. The file permission bits of the mode argument shall be modified by the file creation mask of the process.

When bits in mode other than the file permission bits [XSI] and S_ISVTX[/XSI] are set, the meaning of these additional bits is implementation-defined.

On page 2189 line 70020 section umask(), change:
Only the file permission bits of cmask (see <sys/stat.h>) are used; the meaning of the other bits is implementation-defined.
to:
Only the file permission bits of cmask (see <sys/stat.h>) shall be used; [XSI]the S_ISVTX bit shall be ignored, and[/XSI] the meaning of the other bits is implementation-defined.

On page 2189 line 70028 section umask(), change:
Bit positions that are set in cmask are cleared in the mode of the created file.
to:
Permission bit positions that are set in cmask are cleared in the mode of the created file.

On page 2189 line 70030 section umask(), change:
The file permission bits in the value returned by umask() shall be the previous value of the file mode creation mask. The state of any other bits in that value is unspecified, ...
to:
The file permission bits in the value returned by umask() shall be the previous value of the file mode creation mask. [XSI]The S_ISVTX bit in the returned value shall be clear.[/XSI] The state of any other bits in the returned value is unspecified, ...

Tagstc3-2008

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2021-10-08 14:31 geoffclare New Issue
2021-10-08 14:31 geoffclare Name => Geoff Clare
2021-10-08 14:31 geoffclare Organization => The Open Group
2021-10-08 14:31 geoffclare Section => mkdir()
2021-10-08 14:31 geoffclare Page Number => 1316
2021-10-08 14:31 geoffclare Line Number => 43790
2021-10-08 14:31 geoffclare Interp Status => ---
2022-01-06 17:28 Don Cragun Status New => Resolved
2022-01-06 17:28 Don Cragun Resolution Open => Accepted
2022-01-06 17:29 Don Cragun Tag Attached: tc3-2008
2022-02-04 10:04 geoffclare Status Resolved => Applied
2024-06-11 09:07 agadmin Status Applied => Closed