All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Günther Noack" <gnoack@google.com>
To: "Mickaël Salaün" <mic@digikod.net>
Cc: linux-security-module@vger.kernel.org,
	 Mikhail Ivanov <ivanov.mikhail1@huawei-partners.com>,
	 Tahera Fahimi <fahimitahera@gmail.com>
Subject: Re: [PATCH] landlock: Use bit-fields for storing handled layer access masks
Date: Fri, 14 Jun 2024 14:06:54 +0200	[thread overview]
Message-ID: <ZmwyXoItby7LDd6k@google.com> (raw)
In-Reply-To: <20240613.chiec1EeThe3@digikod.net>

On Thu, Jun 13, 2024 at 11:20:38PM +0200, Mickaël Salaün wrote:
> Great!  Looking at the generated data structures with pahole, it doesn't
> increase the whole size, and it should be fine with other (small) fields
> too.
> 
> With this new struct, we don't need the landlock_get_* helpers anymore.
> We might want to keep the landlock_add_*() helpers as safeguards
> (because of the WARN_ON_ONCE) though.

I am unsure about removing these helper functions, due to the following reasons:

 * landlock_get_fs_access_mask is the place where we transparently add the
   "refer" access right.  If we remove landlock_get_net_access_mask, it would be
   assymetric with keeping the same function for the file system restrictions.

 * landlock_init_layer_masks() is using landlock_get_fs_access_mask and
   landlock_get_net_access_mask through a function pointer.  When these
   functions are gone, we would have to redefine them locally anyway.

   Options to refactor this function include:
    * split it in two separate functions landlock_init_fs_layer_masks and
      landlock_init_net_layer_masks.  It would end up duplicating some of the
      bit manipulation code.
    * add another #if further down in the function

   Both variants seem not nice.

Do you think this is worth doing?

—Günther

  reply	other threads:[~2024-06-14 12:06 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-24  9:30 [RFC PATCH v2 00/12] Socket type control for Landlock Mikhail Ivanov
2024-05-24  9:30 ` [RFC PATCH v2 01/12] landlock: Support socket access-control Mikhail Ivanov
2024-05-27  9:57   ` Günther Noack
2024-05-30 12:05     ` Mikhail Ivanov
2024-06-05 17:04       ` Günther Noack
2024-06-07 13:34         ` Mikhail Ivanov
2024-05-24  9:30 ` [RFC PATCH v2 02/12] landlock: Add hook on socket creation Mikhail Ivanov
2024-05-27  8:48   ` Günther Noack
2024-05-30 12:20     ` Mikhail Ivanov
2024-06-05 17:27       ` Günther Noack
2024-06-07 14:45         ` Mikhail Ivanov
2024-09-25 18:31           ` Mickaël Salaün
2024-05-24  9:30 ` [RFC PATCH v2 03/12] selftests/landlock: Add protocol.create to socket tests Mikhail Ivanov
2024-05-27 15:27   ` Günther Noack
2024-05-30 12:50     ` Mikhail Ivanov
2024-05-24  9:30 ` [RFC PATCH v2 04/12] selftests/landlock: Add protocol.socket_access_rights " Mikhail Ivanov
2024-05-27 20:52   ` Günther Noack
2024-05-30 14:35     ` Mikhail Ivanov
2024-05-24  9:30 ` [RFC PATCH v2 05/12] selftests/landlock: Add protocol.rule_with_unknown_access " Mikhail Ivanov
2024-05-27 21:11   ` Günther Noack
2024-05-24  9:30 ` [RFC PATCH v2 06/12] selftests/landlock: Add protocol.rule_with_unhandled_access " Mikhail Ivanov
2024-05-27 21:15   ` Günther Noack
2024-05-24  9:30 ` [RFC PATCH v2 07/12] selftests/landlock: Add protocol.inval " Mikhail Ivanov
2024-05-27 21:27   ` Günther Noack
2024-05-30 15:28     ` Mikhail Ivanov
2024-05-24  9:30 ` [RFC PATCH v2 08/12] selftests/landlock: Add tcp_layers.ruleset_overlap " Mikhail Ivanov
2024-05-27 21:09   ` Günther Noack
2024-05-30 15:08     ` Mikhail Ivanov
2024-05-24  9:30 ` [RFC PATCH v2 09/12] selftests/landlock: Add mini.ruleset_with_unknown_access " Mikhail Ivanov
2024-05-24  9:30 ` [RFC PATCH v2 10/12] selftests/landlock: Add mini.socket_overflow " Mikhail Ivanov
2024-05-24  9:30 ` [RFC PATCH v2 11/12] selftests/landlock: Add mini.socket_invalid_type " Mikhail Ivanov
2024-05-24  9:30 ` [RFC PATCH v2 12/12] samples/landlock: Support socket protocol restrictions Mikhail Ivanov
2024-06-04 20:22 ` [RFC PATCH v2 00/12] Socket type control for Landlock Günther Noack
2024-06-06 11:44   ` Mikhail Ivanov
2024-06-06 13:32     ` Günther Noack
2024-06-06 19:32       ` Günther Noack
2024-06-07 13:58       ` Mikhail Ivanov
2024-06-10  8:03     ` Günther Noack
2024-06-10  8:21       ` [PATCH] landlock: Use bit-fields for storing handled layer access masks Günther Noack
2024-06-13 21:20         ` Mickaël Salaün
2024-06-14 12:06           ` Günther Noack [this message]
2024-06-15 15:08             ` Mickaël Salaün
2024-06-11 11:35       ` [RFC PATCH v2 00/12] Socket type control for Landlock Mikhail Ivanov

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=ZmwyXoItby7LDd6k@google.com \
    --to=gnoack@google.com \
    --cc=fahimitahera@gmail.com \
    --cc=ivanov.mikhail1@huawei-partners.com \
    --cc=linux-security-module@vger.kernel.org \
    --cc=mic@digikod.net \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.