mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Marco Pagani <marco.pagani@linux.dev>
To: Xu Yilun <yilun.xu@linux.intel.com>
Cc: Moritz Fischer <mdf@kernel.org>, Xu Yilun <yilun.xu@intel.com>,
	Tom Rix <trix@redhat.com>,
	linux-fpga@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH] fpga: region: Add support for FPGA region variants
Date: Fri, 18 Sep 2026 17:07:07 +0200	[thread overview]
Message-ID: <11b1a792-f8b1-4fce-8a7a-8352149febcf@linux.dev> (raw)
In-Reply-To: <8848432d-45b0-4efe-adf3-adfb64fe0899@linux.dev>



On 17/08/2026 18:14, Marco Pagani wrote:
> 
> 
> On 17/08/2026 05:06, Xu Yilun wrote:
>>>> But if the no-verification-in-driver is denied, I think the thing we
>>>> need to do is to verify the binding between the DT description & image.
>>>> After we've verified the DTO & the image is a valid pair, they are not
>>>> arbitrary, whatever the DTO does is necessary to the updated hardware.
>>>
>>> I think we agree on this. Ideally, we should validate the complete
>>> {config, image} pair. However, I don't see how using DTO at runtime can
>>> help with this goal.
>>
>> Validation is not the goal. Re-enumeration is the goal. DTO is what FPGA
>> is now using for re-enumeration. Validation helps DTO if you want extra
>> integrity.
> 
> I would argue that validation is a requirement for any userspace
> interface, while I do agree that re-enumeration is the goal. In my RFC,
> re-enumeration is triggered using the DT infrastructure every time
> userspace switches from one variant to another. Variants can be thought
> of as pre-validated DT fragments baked into the base DT, rather than
> DTOs ingested from userspace at runtime.
> 
> To clarify my position, going back to a couple of messages ago:
> 
> - As I understand it, the current upstream consensus is that hardware
>   devices must be responsible for verifying their own firmware.
>   So, the kernel is responsible for protecting the integrity of its
>   own configuration (live DT), while the reconfiguration engine is
>   responsible for validating FPGA images;
> 
> - If this is not sufficient, and there is a requirement to secure
>   /lib/firmware, it should be done at the filesystem level using
>   the IMA subsystem;
> 
> - However, since not all FPGA reconfiguration engines support crypto
>   image verification, and not all SoCs/platforms have a TPM IP or
>   support for a TEE, we might consider having a subsystem-specific and
>   optional check for the {config, image} pair as a *future* extension.
> 
> 
>>> On the contrary, it would put us in a situation
>>> where neither element of the pair is guaranteed since it enables the
>>> user to feed arbitrarily forged DTOs.
>>
>> As you referenced, no OS component (even the kernel) could guarantee the
>> functionality of the binary for a device, only the device can. So what's
>> the difference who provides the pair?
>>
>> The only thing matters here is integrity and authentication, which is
>> totally a different thing from kernel-user privilege.
>>
>> I'm also confused you keep on telling that userspace is arbitrary so no
>> userspace interface, which seems to suggest kenrel should never get any
>> input from user.
> 
> My concern isn't about accepting user input in general but rather about
> the type and scope of that input. I think there is a huge difference in
> terms of the security between:
> 
> - matching a string that userspace sent via sysfs and then applying a
>   safe configuration already contained in the base DT (validated from
>   a FIT image).
> 
> - having userspace directly pass the kernel DT configuration (as a DTO),
>   which the kernel must then validate (both syntactically and
>   semantically) and apply.
> 
> In the first scenario, userspace is like a customer selecting from a
> menu of pre-approved dishes, and then the kitchen safely prepares it.
> 
> In the second scenario, userspace is like a customer stepping into the
> kitchen to cook their own meal, forcing the chef to constantly supervise
> them to ensure they don't burn the place down.
> 
> 

>>>> It is possible. To be more efficient, I think we should invite
>>>> boarder discussions.

> Following up on what you said two messages ago, I think we should invite
> the DT people and ask for their input to help move this conversation
> forward.

Hi Yilun,

Is it okay with you if I CC the DT people to ask for an opinion?

$ scripts/get_maintainer.pl drivers/of
Rob Herring <robh@kernel.org> (maintainer:OPEN FIRMWARE AND FLATTENED DEVICE TREE)
Saravana Kannan <saravanak@kernel.org> (maintainer:OPEN FIRMWARE AND FLATTENED DEVICE TREE)
devicetree@vger.kernel.org (open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE)
linux-kernel@vger.kernel.org (open list)


Thanks,
Marco


  reply	other threads:[~2026-09-18 15:07 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-08 16:42 Marco Pagani
2026-06-08 16:42 ` [RFC PATCH fpga/for-next 1/2] " Marco Pagani
2026-06-08 16:42 ` [RFC PATCH fpga/for-next 2/2] fpga: of-fpga-region: Add support for " Marco Pagani
2026-06-26 12:58 ` [RFC PATCH] fpga: region: Add support for FPGA " Xu Yilun
2026-06-30  9:39   ` Marco Pagani
2026-06-30 14:58     ` Xu Yilun
2026-07-06 10:05       ` Marco Pagani
2026-07-07  8:02         ` Xu Yilun
2026-07-07 21:49           ` Marco Pagani
2026-07-22 11:22             ` Xu Yilun
2026-08-02 21:32               ` Marco Pagani
2026-08-03  9:27                 ` Xu Yilun
2026-08-08 19:35                   ` Marco Pagani
2026-08-10  7:25                     ` Xu Yilun
2026-08-16 13:18                       ` Marco Pagani
2026-08-17  3:06                         ` Xu Yilun
2026-08-17 16:14                           ` Marco Pagani
2026-09-18 15:07                             ` Marco Pagani [this message]
2026-09-18 17:36                               ` Xu Yilun

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=11b1a792-f8b1-4fce-8a7a-8352149febcf@linux.dev \
    --to=marco.pagani@linux.dev \
    --cc=linux-fpga@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mdf@kernel.org \
    --cc=trix@redhat.com \
    --cc=yilun.xu@intel.com \
    --cc=yilun.xu@linux.intel.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

all inboxes | Powered by JetHome®