From: Aneesh Kumar K.V <aneesh.kumar@kernel.org>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
Jeremy Linton <jeremy.linton@arm.com>,
Jonathan Cameron <jic23@kernel.org>,
Lorenzo Pieralisi <lpieralisi@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Sudeep Holla <sudeep.holla@arm.com>,
Will Deacon <will@kernel.org>,
Jonathan Cameron <jonathan.cameron@huawei.com>,
Suzuki K Poulose <Suzuki.Poulose@arm.com>
Subject: Re: [PATCH v4 2/2] coco: guest: arm64: Drop dummy RSI platform device stub
Date: Wed, 13 May 2026 22:23:24 +0530 [thread overview]
Message-ID: <yq5awlx7s12z.fsf@kernel.org> (raw)
In-Reply-To: <2026051316-confidant-turtle-1e84@gregkh>
Greg KH <gregkh@linuxfoundation.org> writes:
> On Wed, May 13, 2026 at 02:23:01PM +0530, Aneesh Kumar K.V wrote:
>> Greg KH <gregkh@linuxfoundation.org> writes:
>>
>> > On Wed, May 13, 2026 at 12:28:12PM +0530, Aneesh Kumar K.V wrote:
>> >> Catalin Marinas <catalin.marinas@arm.com> writes:
>> >>
>> >> > + Suzuki again
>> >> >
>> >> > On Mon, Apr 27, 2026 at 11:46:15AM +0530, Aneesh Kumar K.V (Arm) wrote:
>> >> >> The SMCCC firmware driver now creates the `arm-smccc` platform device
>> >> >> and also creates the CCA auxiliary devices once the RSI ABI is
>> >> >> discovered. This makes the arch-specific arm64_create_dummy_rsi_dev()
>> >> >> helper redundant. Remove the arm-cca-dev platform device registration
>> >> >> and let the SMCCC probe manage the RSI device.
>> >> >>
>> >> >> systemd match on platform:arm-cca-dev for confidential vm detection [1].
>> >> >> Losing the platform device registration can break that. Keeping this
>> >> >> removal in its own change makes it easy to revert if that regression
>> >> >> blocks the rollout.
>> >> >>
>> >> >> [1] https://lore.kernel.org/all/4a7d84b2-2ec4-4773-a2d5-7b63d5c683cf@arm.com
>> >> >
>> >> > I wouldn't merge this now given that systemd checks this file. Could we
>> >> > have a symbolic link instead for some time until systemd eventually gets
>> >> > updated (years?).
>> >> >
>> >>
>> >> I’ll add this in the next revision.
>> >>
>> >> static int create_rsi_compat_link(struct device *target_dev)
>> >> {
>> >> struct kobject *platform_kobj;
>> >> /*
>> >> * target_dev is:
>> >> * /sys/devices/platform/arm-smccc/arm_cca_guest.arm-rsi-dev.0
>> >> * Create compat link /sys/devices/platform/arm-cca-dev
>> >> */
>> >> platform_kobj = target_dev->kobj.parent->parent;
>> >
>> > What? That is crazy, you don't know that is always going to be ok.
>> >
>> >> return sysfs_create_link(platform_kobj,
>> >> &target_dev->kobj,
>> >> "arm-cca-dev");
>> >
>> > No, don't do that, if a driver calls a sysfs* function, something is
>> > almost always wrong. Don't be making random sysfs symlinks please.
>> >
>>
>> Sure, but could you explain why this is wrong? Below is the full version
>> of the updated patch.
>>
>> coco: guest: arm64 Replace RSI platform device with compat symlink
>>
>> The SMCCC firmware driver now creates the arm-smccc platform device and
>> registers the RSI device as an auxiliary device once the RSI ABI has been
>> discovered. This makes the arch-specific arm64 arm-cca-dev platform device
>> redundant.
>>
>> Remove the arm64 platform device stub and let the SMCCC core manage RSI
>> device creation.
>>
>> This changes the real device location from the old platform device path to:
>>
>> /sys/devices/platform/arm-smccc/arm_cca_guest.arm-rsi-dev.0
>>
>> Keep userspace compatibility by creating a sysfs symlink at the old path:
>>
>> /sys/devices/platform/arm-cca-dev
>>
>> A Debian Code Search check found systemd matching on the old
>> platform:arm-cca-dev device path for confidential VM detection. No other
>> userspace dependency on the old platform device path was found, but keeping
>> the compatibility symlink avoids breaking existing systemd-based detection
>> [1].
>>
>> [1] https://lore.kernel.org/all/4a7d84b2-2ec4-4773-a2d5-7b63d5c683cf@arm.com
>
> Don't attempt to put symlinks between random devices in sysfs, that way
> lies madness and you will never get anything fixed.
>
> Just fix userspace, it shouldn't have hard-coded a device path in the
> first place, and you are thinking it would now use a different
> hard-coded device path? Please do this properly.
>
> Again, there should never be any hard-coded device paths, they are free
> to move around and be renamed at any time. Use the correct apis instead
> (walking all bus devices, looking at userspace attributes of classes,
> etc.)
>
> So your patch is ok, if you remove the symlink stuff.
>
How about adding /sys/firmware/cca/realm_guest? This would be similar to
/sys/firmware/uv/prot_virt_guest, which is provided on s390.
-aneesh
prev parent reply other threads:[~2026-05-13 16:53 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20260427061615.905018-1-aneesh.kumar@kernel.org>
[not found] ` <20260427061615.905018-2-aneesh.kumar@kernel.org>
2026-05-12 14:36 ` [PATCH v4 1/2] firmware: smccc: coco: Manage arm-smccc platform device and CCA auxiliary drivers Catalin Marinas
2026-05-13 6:56 ` Aneesh Kumar K.V
2026-05-13 10:47 ` Catalin Marinas
[not found] ` <20260427061615.905018-3-aneesh.kumar@kernel.org>
2026-05-12 14:38 ` [PATCH v4 2/2] coco: guest: arm64: Drop dummy RSI platform device stub Catalin Marinas
2026-05-13 6:58 ` Aneesh Kumar K.V
2026-05-13 7:11 ` Greg KH
2026-05-13 8:53 ` Aneesh Kumar K.V
2026-05-13 9:51 ` Aneesh Kumar K.V
2026-05-13 9:59 ` Greg KH
2026-05-13 16:53 ` Aneesh Kumar K.V [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=yq5awlx7s12z.fsf@kernel.org \
--to=aneesh.kumar@kernel.org \
--cc=Suzuki.Poulose@arm.com \
--cc=catalin.marinas@arm.com \
--cc=gregkh@linuxfoundation.org \
--cc=jeremy.linton@arm.com \
--cc=jic23@kernel.org \
--cc=jonathan.cameron@huawei.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=mark.rutland@arm.com \
--cc=sudeep.holla@arm.com \
--cc=will@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