[PATCH v3] cxl/core: Support mbox op clear log of vendor debug logs

From: peng guo
Date: Tue Jul 09 2024 - 22:31:56 EST


When user send a mbox cmd whose opcode is CXL_MBOX_OP_CLEAR_LOG and
the in_payload is normal vendor debug log UUID according to
the CXL specification
cxl_payload_from_user_allowed() will return false unexpectedly,
Sending mobox cmd operation failed and the kernel log will print:
Clear Log: input payload not allowed.

All CXL devices that support a debug log shall support the Vendor Debug
Log to allow the log to be accessed through a common host driver, for any
device, all versions of the CXL specification define the same value with
Log Identifier of: 5e1819d9-11a9-400c-811f-d60719403d86

refer to:
CXL spec r2.0 Table 169
CXL spec r3.0 Table 8-62
CXL spec r3.1 Table 8-71

Fix the definition value of DEFINE_CXL_VENDOR_DEBUG_UUID to match the
CXL r3.1 specification.

Fixes: 472b1ce6e9d6 ("cxl/mem: Enable commands via CEL")
Signed-off-by: peng guo <engguopeng@xxxxxxxxxxx>
---
v2 -> v3: Add a description of the impact of this issue on user usage
Modify the fixes tag
v1 -> v2: update commit message and addressed review comments

drivers/cxl/cxlmem.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/cxl/cxlmem.h b/drivers/cxl/cxlmem.h
index af8169ccdbc0..feb1106559d2 100644
--- a/drivers/cxl/cxlmem.h
+++ b/drivers/cxl/cxlmem.h
@@ -563,7 +563,7 @@ enum cxl_opcode {
0x3b, 0x3f, 0x17)

#define DEFINE_CXL_VENDOR_DEBUG_UUID \
- UUID_INIT(0xe1819d9, 0x11a9, 0x400c, 0x81, 0x1f, 0xd6, 0x07, 0x19, \
+ UUID_INIT(0x5e1819d9, 0x11a9, 0x400c, 0x81, 0x1f, 0xd6, 0x07, 0x19, \
0x40, 0x3d, 0x86)

struct cxl_mbox_get_supported_logs {
--
2.43.0