Message ID | 0ca99f94e976a776b5ab7af86b75a556354daab7.1679892337.git.alison.schofield@intel.com |
---|---|
State | Superseded |
Headers | show |
Series | cxl: CXL Inject & Clear Poison | expand |
On 3/26/23 10:03 PM, alison.schofield@intel.com wrote: > From: Alison Schofield <alison.schofield@intel.com> > > Inject and clear poison are commands intended for debug environments, > and can cause data corruption if issued without validation. They are > kernel exclusive commands not available to userspace through ioctls, > but could be submitted via the raw mode ioctl. > > Add inject and clear poison to the cxl_disabled_raw_commands[] list. > Attempts by userspace to issue either command via the RAW ioctl fail > with -EPERM. > > Signed-off-by: Alison Schofield <alison.schofield@intel.com> > Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Dave Jiang <dave.jiang@intel.com> > --- > drivers/cxl/core/mbox.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/cxl/core/mbox.c b/drivers/cxl/core/mbox.c > index a8369ef56f61..b380208f85c2 100644 > --- a/drivers/cxl/core/mbox.c > +++ b/drivers/cxl/core/mbox.c > @@ -89,6 +89,9 @@ static struct cxl_mem_command cxl_mem_commands[CXL_MEM_COMMAND_ID_MAX] = { > * > * CXL_MBOX_OP_[GET_]SCAN_MEDIA: The kernel provides a native error list that > * is kept up to date with patrol notifications and error management. > + * > + * CXL_MBOX_OP_[INJECT|CLEAR]_POISON: The kernel provides a debugfs interface > + * to these commands. See: Documentation/ABI/testing/debugfs-cxl > */ > static u16 cxl_disabled_raw_commands[] = { > CXL_MBOX_OP_ACTIVATE_FW, > @@ -97,6 +100,8 @@ static u16 cxl_disabled_raw_commands[] = { > CXL_MBOX_OP_SET_SHUTDOWN_STATE, > CXL_MBOX_OP_SCAN_MEDIA, > CXL_MBOX_OP_GET_SCAN_MEDIA, > + CXL_MBOX_OP_INJECT_POISON, > + CXL_MBOX_OP_CLEAR_POISON, > }; > > /*
diff --git a/drivers/cxl/core/mbox.c b/drivers/cxl/core/mbox.c index a8369ef56f61..b380208f85c2 100644 --- a/drivers/cxl/core/mbox.c +++ b/drivers/cxl/core/mbox.c @@ -89,6 +89,9 @@ static struct cxl_mem_command cxl_mem_commands[CXL_MEM_COMMAND_ID_MAX] = { * * CXL_MBOX_OP_[GET_]SCAN_MEDIA: The kernel provides a native error list that * is kept up to date with patrol notifications and error management. + * + * CXL_MBOX_OP_[INJECT|CLEAR]_POISON: The kernel provides a debugfs interface + * to these commands. See: Documentation/ABI/testing/debugfs-cxl */ static u16 cxl_disabled_raw_commands[] = { CXL_MBOX_OP_ACTIVATE_FW, @@ -97,6 +100,8 @@ static u16 cxl_disabled_raw_commands[] = { CXL_MBOX_OP_SET_SHUTDOWN_STATE, CXL_MBOX_OP_SCAN_MEDIA, CXL_MBOX_OP_GET_SCAN_MEDIA, + CXL_MBOX_OP_INJECT_POISON, + CXL_MBOX_OP_CLEAR_POISON, }; /*