Page MenuHomeFreeBSD

open(2): allow O_PATH | O_CREAT
ClosedPublic

Authored by kib on Jan 6 2025, 11:03 AM.
Tags
None
Referenced Files
F115647905: D48332.diff
Sat, Apr 26, 12:57 PM
F115637725: D48332.id148806.diff
Sat, Apr 26, 9:15 AM
F115633636: D48332.id148853.diff
Sat, Apr 26, 7:44 AM
F115591471: D48332.id148852.diff
Fri, Apr 25, 7:03 PM
F115580587: D48332.id148852.diff
Fri, Apr 25, 3:03 PM
F115579075: D48332.id148806.diff
Fri, Apr 25, 2:30 PM
Unknown Object (File)
Tue, Apr 22, 7:46 PM
Unknown Object (File)
Tue, Apr 22, 6:52 PM
Subscribers

Details

Summary

There is no reason to disallow creating the file opened for path.
More, it might be a useful feature together with O_EXCL.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

kib requested review of this revision.Jan 6 2025, 11:03 AM

At least tests/sys/file/path_test.c:path_io will need to be updated.

This revision is now accepted and ready to land.Jan 6 2025, 2:07 PM
This revision now requires review to proceed.Jan 6 2025, 11:41 PM
markj added inline comments.
tests/sys/file/path_test.c
691 ↗(On Diff #148843)

Just for good measure, I'd verify that the descriptor really is an O_PATH descriptor. For example, read(pathfd) should fail.

This revision is now accepted and ready to land.Jan 7 2025, 2:10 AM
kib marked an inline comment as done.

Check that O_PATH|O_CREAT returns O_PATH-kind of fd.

This revision now requires review to proceed.Jan 7 2025, 2:34 AM
This revision is now accepted and ready to land.Jan 7 2025, 2:36 AM