From: Nikolay Borisov <nik.borisov@suse.com>
To: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: dave.hansen@linux.intel.com, linux-coco@lists.linux.dev,
x86@kernel.org, linux-kernel@vger.kernel.org,
vannapurve@google.com,
Elena Reshetova <elena.reshetova@intel.com>
Subject: Re: [RFC PATCH] /dev/mem: Disable /dev/mem under TDX guest
Date: Tue, 18 Mar 2025 16:21:21 +0200 [thread overview]
Message-ID: <d0891544-98b9-447a-a382-bfc078865243@suse.com> (raw)
In-Reply-To: <auno67lcikllqdlgdsad72hvsmym4lqxnaqaohmvtvf2boscxu@54ftt6342jxy>
On 18.03.25 г. 15:27 ч., Kirill A. Shutemov wrote:
> On Tue, Mar 18, 2025 at 02:53:34PM +0200, Nikolay Borisov wrote:
>>> I think we need to think wider. What about applying a subset of LOCKDOWN_*
>>> in all coco guests by default. Many of them are relevant for the guest security.
>>
>> How do you envision this to work, by introducing another
>> CONFIG_LOCK_DOWN_KERNEL_FORCE_COCO or some such ? Will it be opt-in or
>> mandatory?
>
> I think cc_platform_has(CC_ATTR_xxx) should enabled some subset of
> LOCKDOWN_*. No need in new config options.
Care to suggest which ones should be included? The way lockdown works at
the moment is that it only supports 2 levels (check lock_kernel_down()
and lockdown_is_locked_down()) at which you can lockdown - INTEGRITY_MAX
and CONFIDENTIALITY_MAX, where each level includes everything below it.
So by choosing integrity max you get:
19 LOCKDOWN_MODULE_SIGNATURE,
18 LOCKDOWN_DEV_MEM,
17 LOCKDOWN_EFI_TEST,
16 LOCKDOWN_KEXEC,
15 LOCKDOWN_HIBERNATION,
14 LOCKDOWN_PCI_ACCESS,
13 LOCKDOWN_IOPORT,
12 LOCKDOWN_MSR,
11 LOCKDOWN_ACPI_TABLES,
10 LOCKDOWN_DEVICE_TREE,
9 LOCKDOWN_PCMCIA_CIS,
8 LOCKDOWN_TIOCSSERIAL,
7 LOCKDOWN_MODULE_PARAMETERS,
6 LOCKDOWN_MMIOTRACE,
5 LOCKDOWN_DEBUGFS,
4 LOCKDOWN_XMON_WR,
3 LOCKDOWN_BPF_WRITE_USER,
2 LOCKDOWN_DBG_WRITE_KERNEL,
1 LOCKDOWN_RTAS_ERROR_INJECTION,
Given this if we for example choose to lockdown the kernel for DEV_MEM,
we'll also get the MODULE_SIGNATURE lockdown as well. I find this
somewhat inflexible as we might have to rejuggle the current ordering.
>
>> Should we decide to follow the lockdown route this means the owner of the
>> coco guest will have the ability to disable it and a misbehaving userspace
>> process will still be able to induce an EPT violation.
>
> Sure. It can shoot itself in the foot.
>
next prev parent reply other threads:[~2025-03-18 14:21 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-18 11:36 [RFC PATCH] /dev/mem: Disable /dev/mem under TDX guest Nikolay Borisov
2025-03-18 11:53 ` Juergen Gross
2025-03-18 11:56 ` Nikolay Borisov
2025-03-18 12:23 ` Kirill A. Shutemov
2025-03-18 12:53 ` Nikolay Borisov
2025-03-18 13:27 ` Kirill A. Shutemov
2025-03-18 14:21 ` Nikolay Borisov [this message]
2025-03-20 9:38 ` Kirill A. Shutemov
2025-03-18 14:48 ` Dave Hansen
2025-03-18 17:56 ` Nikolay Borisov
2025-03-18 19:06 ` Dan Williams
2025-03-24 9:59 ` Nikolay Borisov
2025-03-25 18:16 ` Dan Williams
2025-03-28 10:51 ` Nikolay Borisov
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=d0891544-98b9-447a-a382-bfc078865243@suse.com \
--to=nik.borisov@suse.com \
--cc=dave.hansen@linux.intel.com \
--cc=elena.reshetova@intel.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-coco@lists.linux.dev \
--cc=linux-kernel@vger.kernel.org \
--cc=vannapurve@google.com \
--cc=x86@kernel.org \
/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