Re: [PATCH 01/11] fs: add O_BENEATH_ONLY flag to openat(2)
From: David Drysdale <hidden>
Date: 2014-07-08 16:54:47
Also in:
lkml
From: David Drysdale <hidden>
Date: 2014-07-08 16:54:47
Also in:
lkml
On Tue, Jul 8, 2014 at 1:03 PM, Christoph Hellwig [off-list ref] wrote:
On Mon, Jun 30, 2014 at 11:28:01AM +0100, David Drysdale wrote:quoted
Add a new O_BENEATH_ONLY flag for openat(2) which restricts the provided path, rejecting (with -EACCES) paths that are not beneath the provided dfd. In particular, reject: - paths that contain .. components - paths that begin with / - symlinks that have paths as above.How is this implemented in FreeBSD? I can't find any references to O_BENEATH_ONLY except for your patchset.
FreeBSD have the relative-only behaviour for openat() relative to a Capsicum capability dfd [1], and for a process in capability-mode [2], but they don't have the O_BENEATH_ONLY as a separately-accessible openat() flag. However, it seemed like a more widely useful idea so separating it out was suggested. [1] http://fxr.watson.org/fxr/source/kern/vfs_lookup.c?v=FREEBSD10#L238 [2] http://fxr.watson.org/fxr/source/kern/vfs_lookup.c?v=FREEBSD10#L171