From: Kees Cook <kees@kernel.org>
To: Andrei Vagin <avagin@google.com>
Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
linux-mm@kvack.org, cgroups@vger.kernel.org,
criu@lists.linux.dev, "Tejun Heo" <tj@kernel.org>,
"Johannes Weiner" <hannes@cmpxchg.org>,
"Michal Koutný" <mkoutny@suse.com>,
"Vipin Sharma" <vipinsh@google.com>,
"Jonathan Corbet" <corbet@lwn.net>
Subject: Re: [PATCH 1/3] cgroup, binfmt_elf: Add hwcap masks to the misc controller
Date: Thu, 4 Dec 2025 19:40:23 -0800 [thread overview]
Message-ID: <202512041939.63DA7C96C2@keescook> (raw)
In-Reply-To: <20251205005841.3942668-2-avagin@google.com>
On Fri, Dec 05, 2025 at 12:58:29AM +0000, Andrei Vagin wrote:
> Add an interface to the misc cgroup controller that allows masking out
> hardware capabilities (AT_HWCAP) reported to user-space processes. This
> provides a mechanism to restrict the features a containerized
> application can see.
>
> The new "misc.mask" cgroup file allows users to specify masks for
> AT_HWCAP, AT_HWCAP2, AT_HWCAP3, and AT_HWCAP4.
>
> The output of "misc.mask" is extended to display the effective mask,
> which is a combination of the masks from the current cgroup and all its
> ancestors.
>
> Signed-off-by: Andrei Vagin <avagin@google.com>
> ---
> fs/binfmt_elf.c | 24 +++++--
> include/linux/misc_cgroup.h | 25 +++++++
> kernel/cgroup/misc.c | 126 ++++++++++++++++++++++++++++++++++++
> 3 files changed, 171 insertions(+), 4 deletions(-)
>
> diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
> index 3eb734c192e9..59137784e81d 100644
> --- a/fs/binfmt_elf.c
> +++ b/fs/binfmt_elf.c
> @@ -47,6 +47,7 @@
> #include <linux/dax.h>
> #include <linux/uaccess.h>
> #include <uapi/linux/rseq.h>
> +#include <linux/misc_cgroup.h>
> #include <asm/param.h>
> #include <asm/page.h>
>
> @@ -182,6 +183,21 @@ create_elf_tables(struct linux_binprm *bprm, const struct elfhdr *exec,
> int ei_index;
> const struct cred *cred = current_cred();
> struct vm_area_struct *vma;
> + struct misc_cg *misc_cg;
> + u64 hwcap_mask[4] = {0, 0, 0, 0};
> +
> + misc_cg = get_current_misc_cg();
> + misc_cg_get_mask(MISC_CG_MASK_HWCAP, misc_cg, &hwcap_mask[0]);
> +#ifdef ELF_HWCAP2
> + misc_cg_get_mask(MISC_CG_MASK_HWCAP2, misc_cg, &hwcap_mask[1]);
> +#endif
> +#ifdef ELF_HWCAP3
> + misc_cg_get_mask(MISC_CG_MASK_HWCAP3, misc_cg, &hwcap_mask[2]);
> +#endif
> +#ifdef ELF_HWCAP4
> + misc_cg_get_mask(MISC_CG_MASK_HWCAP4, misc_cg, &hwcap_mask[3]);
> +#endif
Can we avoid having the open-coded 4, 0, 1, 2, 3 where these are used?
I imagine it also doesn't need to be a 4 element array if ELF_HWCAP4
isn't defined, etc?
--
Kees Cook
next prev parent reply other threads:[~2025-12-05 3:40 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-05 0:58 [PATCH 0/3] cgroup/misc: Add hwcap masks to the misc controller Andrei Vagin
2025-12-05 0:58 ` [PATCH 1/3] cgroup, binfmt_elf: " Andrei Vagin
2025-12-05 3:40 ` Kees Cook [this message]
2025-12-05 10:10 ` Chen Ridong
2025-12-07 6:16 ` Andrei Vagin
2025-12-05 0:58 ` Andrei Vagin
2025-12-05 0:58 ` [PATCH 2/3] selftests/cgroup: Add a test for the misc.mask cgroup interface Andrei Vagin
2025-12-05 0:58 ` [PATCH 3/3] Documentation: cgroup-v2: Document misc.mask interface Andrei Vagin
2025-12-05 2:52 ` [PATCH 0/3] cgroup/misc: Add hwcap masks to the misc controller Chen Ridong
2025-12-05 6:39 ` Andrei Vagin
2025-12-05 10:04 ` Chen Ridong
2025-12-05 20:19 ` Andrei Vagin
2025-12-08 16:48 ` Michal Koutný
2025-12-09 0:58 ` Chen Ridong
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=202512041939.63DA7C96C2@keescook \
--to=kees@kernel.org \
--cc=avagin@google.com \
--cc=cgroups@vger.kernel.org \
--cc=corbet@lwn.net \
--cc=criu@lists.linux.dev \
--cc=hannes@cmpxchg.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mkoutny@suse.com \
--cc=tj@kernel.org \
--cc=vipinsh@google.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 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.