123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- From 333678d7b9edc29e8148411d48f70950b1b614c1 Mon Sep 17 00:00:00 2001
- From: Neal Frager <neal.frager@amd.com>
- Date: Mon, 2 Jun 2025 11:07:03 +0100
- Subject: [PATCH] include/uapi/linux/xlnx-ai-engine.h: fix
- CONFIG_XILINX_AIE leak
- Linux Kconfig options should not be exposed to user space. This patch fixes
- a Linux kernel leak of the CONFIG_XILINX_AIE option by moving the changes
- implemented by the CONFIG_XILINX_AIE from the uapi header file to the local
- Linux kernel header file.
- Upstream: internal AMD jira process
- Signed-off-by: Neal Frager <neal.frager@amd.com>
- ---
- include/linux/xlnx-ai-engine.h | 37 +++++++++++++++++++++++++
- include/uapi/linux/xlnx-ai-engine.h | 42 -----------------------------
- 2 files changed, 37 insertions(+), 42 deletions(-)
- diff --git a/include/linux/xlnx-ai-engine.h b/include/linux/xlnx-ai-engine.h
- index 44a1e40ef9b8..10905dc84ae9 100644
- --- a/include/linux/xlnx-ai-engine.h
- +++ b/include/linux/xlnx-ai-engine.h
- @@ -171,6 +171,13 @@ static inline u32 aie_get_error_category(struct aie_error *err)
- return err->category;
- }
-
- +int aie_partition_write_privileged_mem(struct device *dev, size_t offset, size_t len, void *data);
- +int aie_partition_read_privileged_mem(struct device *dev, size_t offset, size_t len, void *data);
- +bool aie_partition_check_noc_aximm(struct device *dev, struct aie_location *loc);
- +int aie_partition_check_uc_aximm(struct device *dev, struct aie_location *loc);
- +int aie_partition_uc_zeroize_mem(struct device *dev, struct aie_location *loc, u32 regval);
- +int aie_load_cert(struct device *dev, unsigned char *elf_addr);
- +
- #else
- static inline bool aie_partition_is_available(struct aie_partition_req *req)
- {
- @@ -271,5 +278,35 @@ static inline int aie_part_rscmgr_set_static_range(struct device *dev,
- return -EINVAL;
- }
-
- +int aie_partition_write_privileged_mem(struct device *dev, size_t offset, size_t len, void *data)
- +{
- + return -EINVAL;
- +}
- +
- +int aie_partition_read_privileged_mem(struct device *dev, size_t offset, size_t len, void *data)
- +{
- + return -EINVAL;
- +}
- +
- +bool aie_partition_check_noc_aximm(struct device *dev, struct aie_location *loc)
- +{
- + return false;
- +}
- +
- +int aie_partition_check_uc_aximm(struct device *dev, struct aie_location *loc)
- +{
- + return 0;
- +}
- +
- +int aie_partition_uc_zeroize_mem(struct device *dev, struct aie_location *loc, u32 regval)
- +{
- + return -EINVAL;
- +}
- +
- +int aie_load_cert(struct device *dev, unsigned char *elf_addr)
- +{
- + return -EINVAL;
- +}
- +
- #endif /* CONFIG_XILINX_AIE */
- #endif
- diff --git a/include/uapi/linux/xlnx-ai-engine.h b/include/uapi/linux/xlnx-ai-engine.h
- index 424c5f4c4097..1680aed8ad85 100644
- --- a/include/uapi/linux/xlnx-ai-engine.h
- +++ b/include/uapi/linux/xlnx-ai-engine.h
- @@ -781,47 +781,5 @@ struct aie_rsc_user_stat_array {
- */
- #define AIE_UPDATE_SHIMDMA_DMABUF_BD_ADDR_IOCTL _IOW(AIE_IOCTL_BASE, 0x1e, \
- struct aie_dmabuf_bd_args)
- -#if IS_ENABLED(CONFIG_XILINX_AIE)
- -
- -int aie_partition_write_privileged_mem(struct device *dev, size_t offset, size_t len, void *data);
- -int aie_partition_read_privileged_mem(struct device *dev, size_t offset, size_t len, void *data);
- -bool aie_partition_check_noc_aximm(struct device *dev, struct aie_location *loc);
- -int aie_partition_check_uc_aximm(struct device *dev, struct aie_location *loc);
- -int aie_partition_uc_zeroize_mem(struct device *dev, struct aie_location *loc, u32 regval);
- -int aie_load_cert(struct device *dev, unsigned char *elf_addr);
- -
- -#else /* IS_ENABLED(CONFIG_XILINX_AIE) */
- -
- -int aie_partition_write_privileged_mem(struct device *dev, size_t offset, size_t len, void *data)
- -{
- - return -EINVAL;
- -}
- -
- -int aie_partition_read_privileged_mem(struct device *dev, size_t offset, size_t len, void *data)
- -{
- - return -EINVAL;
- -}
- -
- -bool aie_partition_check_noc_aximm(struct device *dev, struct aie_location *loc)
- -{
- - return false;
- -}
- -
- -int aie_partition_check_uc_aximm(struct device *dev, struct aie_location *loc)
- -{
- - return 0;
- -}
- -
- -int aie_partition_uc_zeroize_mem(struct device *dev, struct aie_location *loc, u32 regval)
- -{
- - return -EINVAL;
- -}
- -
- -int aie_load_cert(struct device *dev, unsigned char *elf_addr)
- -{
- - return -EINVAL;
- -}
- -
- -#endif /* IS_ENABLED(CONFIG_XILINX_AIE) */
-
- #endif
- --
- 2.25.1
|