* [PATCH] cxl: Deny Features commands on the RAW mailbox path
@ 2026-07-15 15:51 Dave Jiang
2026-07-15 15:58 ` Alison Schofield
2026-07-24 19:13 ` Dave Jiang
0 siblings, 2 replies; 3+ messages in thread
From: Dave Jiang @ 2026-07-15 15:51 UTC (permalink / raw)
To: linux-cxl; +Cc: dave, jic23, alison.schofield, vishal.l.verma, djbw, icheng
The RAW mailbox command path allows user to issue arbitrary opcodes
to the device. The FWCTL interface was introduced to support the
CXL Features commands where access control is provided depends on
what the CEL indicates.
Add the Features commands to cxl_disabled_raw_commands[] to ensure
that all Features commands are only accessible through the FWCTL
interface.
The cxl_raw_allow_all debugfs override knob bypasses the disabled list
if the user is aware of the risks and wants to use the RAW path for
Features commands.
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
---
drivers/cxl/core/mbox.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/cxl/core/mbox.c b/drivers/cxl/core/mbox.c
index 7c6c5b7450a5..6dea70a1ff95 100644
--- a/drivers/cxl/core/mbox.c
+++ b/drivers/cxl/core/mbox.c
@@ -91,6 +91,10 @@ static struct cxl_mem_command cxl_mem_commands[CXL_MEM_COMMAND_ID_MAX] = {
*
* CXL_MBOX_OP_[GET_,INJECT_,CLEAR_]POISON: These commands require kernel
* driver orchestration for safety.
+ *
+ * CXL_MBOX_OP_[GET_SUPPORTED_FEATURES,GET_FEATURE,SET_FEATURE]: Features are
+ * accessed through the fwctl ABI, which applies scope-based access control.
+ * The RAW path would bypass those checks, so it is not permitted here.
*/
static u16 cxl_disabled_raw_commands[] = {
CXL_MBOX_OP_ACTIVATE_FW,
@@ -102,6 +106,9 @@ static u16 cxl_disabled_raw_commands[] = {
CXL_MBOX_OP_GET_POISON,
CXL_MBOX_OP_INJECT_POISON,
CXL_MBOX_OP_CLEAR_POISON,
+ CXL_MBOX_OP_GET_SUPPORTED_FEATURES,
+ CXL_MBOX_OP_GET_FEATURE,
+ CXL_MBOX_OP_SET_FEATURE,
};
/*
base-commit: a13c140cc289c0b7b3770bce5b3ad42ab35074aa
--
2.55.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] cxl: Deny Features commands on the RAW mailbox path
2026-07-15 15:51 [PATCH] cxl: Deny Features commands on the RAW mailbox path Dave Jiang
@ 2026-07-15 15:58 ` Alison Schofield
2026-07-24 19:13 ` Dave Jiang
1 sibling, 0 replies; 3+ messages in thread
From: Alison Schofield @ 2026-07-15 15:58 UTC (permalink / raw)
To: Dave Jiang; +Cc: linux-cxl, dave, jic23, vishal.l.verma, djbw, icheng
On Wed, Jul 15, 2026 at 08:51:26AM -0700, Dave Jiang wrote:
> The RAW mailbox command path allows user to issue arbitrary opcodes
> to the device. The FWCTL interface was introduced to support the
> CXL Features commands where access control is provided depends on
> what the CEL indicates.
>
> Add the Features commands to cxl_disabled_raw_commands[] to ensure
> that all Features commands are only accessible through the FWCTL
> interface.
>
> The cxl_raw_allow_all debugfs override knob bypasses the disabled list
> if the user is aware of the risks and wants to use the RAW path for
> Features commands.
Reviewed-by: Alison Schofield <alison.schofield@intel.com>
>
> Signed-off-by: Dave Jiang <dave.jiang@intel.com>
> ---
> drivers/cxl/core/mbox.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/cxl/core/mbox.c b/drivers/cxl/core/mbox.c
> index 7c6c5b7450a5..6dea70a1ff95 100644
> --- a/drivers/cxl/core/mbox.c
> +++ b/drivers/cxl/core/mbox.c
> @@ -91,6 +91,10 @@ static struct cxl_mem_command cxl_mem_commands[CXL_MEM_COMMAND_ID_MAX] = {
> *
> * CXL_MBOX_OP_[GET_,INJECT_,CLEAR_]POISON: These commands require kernel
> * driver orchestration for safety.
> + *
> + * CXL_MBOX_OP_[GET_SUPPORTED_FEATURES,GET_FEATURE,SET_FEATURE]: Features are
> + * accessed through the fwctl ABI, which applies scope-based access control.
> + * The RAW path would bypass those checks, so it is not permitted here.
> */
> static u16 cxl_disabled_raw_commands[] = {
> CXL_MBOX_OP_ACTIVATE_FW,
> @@ -102,6 +106,9 @@ static u16 cxl_disabled_raw_commands[] = {
> CXL_MBOX_OP_GET_POISON,
> CXL_MBOX_OP_INJECT_POISON,
> CXL_MBOX_OP_CLEAR_POISON,
> + CXL_MBOX_OP_GET_SUPPORTED_FEATURES,
> + CXL_MBOX_OP_GET_FEATURE,
> + CXL_MBOX_OP_SET_FEATURE,
> };
>
> /*
>
> base-commit: a13c140cc289c0b7b3770bce5b3ad42ab35074aa
> --
> 2.55.0
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] cxl: Deny Features commands on the RAW mailbox path
2026-07-15 15:51 [PATCH] cxl: Deny Features commands on the RAW mailbox path Dave Jiang
2026-07-15 15:58 ` Alison Schofield
@ 2026-07-24 19:13 ` Dave Jiang
1 sibling, 0 replies; 3+ messages in thread
From: Dave Jiang @ 2026-07-24 19:13 UTC (permalink / raw)
To: linux-cxl; +Cc: dave, jic23, alison.schofield, vishal.l.verma, djbw, icheng
On 7/15/26 8:51 AM, Dave Jiang wrote:
> The RAW mailbox command path allows user to issue arbitrary opcodes
> to the device. The FWCTL interface was introduced to support the
> CXL Features commands where access control is provided depends on
> what the CEL indicates.
>
> Add the Features commands to cxl_disabled_raw_commands[] to ensure
> that all Features commands are only accessible through the FWCTL
> interface.
>
> The cxl_raw_allow_all debugfs override knob bypasses the disabled list
> if the user is aware of the risks and wants to use the RAW path for
> Features commands.
>
> Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Applied to cxl/next
fac9275820a3
> ---
> drivers/cxl/core/mbox.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/cxl/core/mbox.c b/drivers/cxl/core/mbox.c
> index 7c6c5b7450a5..6dea70a1ff95 100644
> --- a/drivers/cxl/core/mbox.c
> +++ b/drivers/cxl/core/mbox.c
> @@ -91,6 +91,10 @@ static struct cxl_mem_command cxl_mem_commands[CXL_MEM_COMMAND_ID_MAX] = {
> *
> * CXL_MBOX_OP_[GET_,INJECT_,CLEAR_]POISON: These commands require kernel
> * driver orchestration for safety.
> + *
> + * CXL_MBOX_OP_[GET_SUPPORTED_FEATURES,GET_FEATURE,SET_FEATURE]: Features are
> + * accessed through the fwctl ABI, which applies scope-based access control.
> + * The RAW path would bypass those checks, so it is not permitted here.
> */
> static u16 cxl_disabled_raw_commands[] = {
> CXL_MBOX_OP_ACTIVATE_FW,
> @@ -102,6 +106,9 @@ static u16 cxl_disabled_raw_commands[] = {
> CXL_MBOX_OP_GET_POISON,
> CXL_MBOX_OP_INJECT_POISON,
> CXL_MBOX_OP_CLEAR_POISON,
> + CXL_MBOX_OP_GET_SUPPORTED_FEATURES,
> + CXL_MBOX_OP_GET_FEATURE,
> + CXL_MBOX_OP_SET_FEATURE,
> };
>
> /*
>
> base-commit: a13c140cc289c0b7b3770bce5b3ad42ab35074aa
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-07-24 19:13 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-15 15:51 [PATCH] cxl: Deny Features commands on the RAW mailbox path Dave Jiang
2026-07-15 15:58 ` Alison Schofield
2026-07-24 19:13 ` Dave Jiang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox