From: "Günther Noack" <gnoack3000@gmail.com>
To: "Mickaël Salaün" <mic@digikod.net>
Cc: linux-security-module@vger.kernel.org,
Paul Moore <paul@paul-moore.com>,
Konstantin Meskhidze <konstantin.meskhidze@huawei.com>,
Xiu Jianfeng <xiujianfeng@huawei.com>
Subject: Re: [PATCH] landlock: Clarify documentation for the LANDLOCK_ACCESS_FS_REFER right
Date: Mon, 13 Feb 2023 21:47:58 +0100 [thread overview]
Message-ID: <Y+qh/jm66gMzd865@galopp> (raw)
In-Reply-To: <29b06bf8-cca7-f815-2e22-255297bf39cd@digikod.net>
Hello Mickaël!
On Mon, Feb 13, 2023 at 08:14:27PM +0100, Mickaël Salaün wrote:
> Thanks for the doc improvement Günther!
>
> On 02/02/2023 21:46, Günther Noack wrote:
> > Clarify the "refer" documentation by splitting up a big paragraph of text.
> >
> > - Call out specifically that the denial by default applies to ABI v1 as well.
> > - Turn the three additional constraints for link/rename operations
> > into bullet points, to give it more structure.
> >
> > Signed-off-by: Günther Noack <gnoack3000@gmail.com>
> > ---
> > include/uapi/linux/landlock.h | 41 ++++++++++++++++++++++-------------
> > 1 file changed, 26 insertions(+), 15 deletions(-)
> >
> > diff --git a/include/uapi/linux/landlock.h b/include/uapi/linux/landlock.h
> > index f3223f96469..0cc58e0361f 100644
> > --- a/include/uapi/linux/landlock.h
> > +++ b/include/uapi/linux/landlock.h
> > @@ -130,21 +130,32 @@ struct landlock_path_beneath_attr {
> > + * This access right is available since the second version of the Landlock
> > + * ABI. This is also the only access right which is always considered
> > + * handled by any ruleset in such a way that reparenting a file hierarchy is
> > + * always denied by default. If left unspecified during the creation of a
> > + * ruleset, linking and renaming files between different directories will be
> > + * forbidden, also when done on a kernel using Landlock ABI v1.
>
> What about:
> forbidden, which is also the case when using the first Landlock ABI.
Applied, makes sense.
> > + * In addition to permitting this access right, the following constraints
> > + * must hold for the access rights on the source and destination directory:
> > + *
> > + * * The destination directory may not grant any access rights which are
> > + * forbidden in the source directory. Otherwise, the operation results in
>
> "forbidden to the source file."
>
> Indeed, the check is done according to the source file and compared to the
> potential destination file. For instance, the parent source directory may
> not allow to execute the source file, but the link will be allowed even if
> the destination directory allows file execution in the case of the execution
> right being tied to the (linked) file itself.
Ah, I didn't notice that, thanks for pointing it out! Changed.
> > + * an ``EXDEV`` error.
> > + *
> > + * * When linking or renaming, the ``LANDLOCK_ACCESS_FS_MAKE_*`` right for
> > + * the respective file type is required in the destination directory.
> > + * Otherwise, the operation results in an ``EACCES`` error.
> > + *
> > + * * When renaming, the ``LANDLOCK_ACCESS_FS_REMOVE_*`` right for the
> > + * respective file type is required in the source directory. Otherwise,
> > + * the operation results in an ``EACCES`` error.
>
> There is also the RENAME_EXCHANGE case when we need make and remove access
> rights in the source and in the destination directory, but it would probably
> confuse readers to specify that.
I'll leave it out for now, to keep this patch focused on rewording. I
feel that adding it now would open another can of worms better left
for a more dedicated code review. ;)
–-Günther
prev parent reply other threads:[~2023-02-13 20:48 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-02 20:46 [PATCH] landlock: Clarify documentation for the LANDLOCK_ACCESS_FS_REFER right Günther Noack
2023-02-13 19:14 ` Mickaël Salaün
2023-02-13 20:47 ` Günther Noack [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Y+qh/jm66gMzd865@galopp \
--to=gnoack3000@gmail.com \
--cc=konstantin.meskhidze@huawei.com \
--cc=linux-security-module@vger.kernel.org \
--cc=mic@digikod.net \
--cc=paul@paul-moore.com \
--cc=xiujianfeng@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).