habanalabs: remove access to kernel memory using debugfs

Accessing kernel allocated memory through debugfs should not
be allowed as it introduces a security vulnerability.
We remove the option to read/write kernel memory for all asics.

Signed-off-by: Ofir Bitton <obitton@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
This commit is contained in:
Ofir Bitton 2020-12-28 18:28:08 +02:00 committed by Oded Gabbay
parent 266cdfa2b7
commit a1f8533269
2 changed files with 0 additions and 20 deletions

View File

@ -5734,8 +5734,6 @@ static int gaudi_debugfs_read32(struct hl_device *hdev, u64 addr, u32 *val)
} }
if (hbm_bar_addr == U64_MAX) if (hbm_bar_addr == U64_MAX)
rc = -EIO; rc = -EIO;
} else if (addr >= HOST_PHYS_BASE && !iommu_present(&pci_bus_type)) {
*val = *(u32 *) phys_to_virt(addr - HOST_PHYS_BASE);
} else { } else {
rc = -EFAULT; rc = -EFAULT;
} }
@ -5781,8 +5779,6 @@ static int gaudi_debugfs_write32(struct hl_device *hdev, u64 addr, u32 val)
} }
if (hbm_bar_addr == U64_MAX) if (hbm_bar_addr == U64_MAX)
rc = -EIO; rc = -EIO;
} else if (addr >= HOST_PHYS_BASE && !iommu_present(&pci_bus_type)) {
*(u32 *) phys_to_virt(addr - HOST_PHYS_BASE) = val;
} else { } else {
rc = -EFAULT; rc = -EFAULT;
} }
@ -5832,8 +5828,6 @@ static int gaudi_debugfs_read64(struct hl_device *hdev, u64 addr, u64 *val)
} }
if (hbm_bar_addr == U64_MAX) if (hbm_bar_addr == U64_MAX)
rc = -EIO; rc = -EIO;
} else if (addr >= HOST_PHYS_BASE && !iommu_present(&pci_bus_type)) {
*val = *(u64 *) phys_to_virt(addr - HOST_PHYS_BASE);
} else { } else {
rc = -EFAULT; rc = -EFAULT;
} }
@ -5882,8 +5876,6 @@ static int gaudi_debugfs_write64(struct hl_device *hdev, u64 addr, u64 val)
} }
if (hbm_bar_addr == U64_MAX) if (hbm_bar_addr == U64_MAX)
rc = -EIO; rc = -EIO;
} else if (addr >= HOST_PHYS_BASE && !iommu_present(&pci_bus_type)) {
*(u64 *) phys_to_virt(addr - HOST_PHYS_BASE) = val;
} else { } else {
rc = -EFAULT; rc = -EFAULT;
} }

View File

@ -4122,9 +4122,6 @@ static int goya_debugfs_read32(struct hl_device *hdev, u64 addr, u32 *val)
if (ddr_bar_addr == U64_MAX) if (ddr_bar_addr == U64_MAX)
rc = -EIO; rc = -EIO;
} else if (addr >= HOST_PHYS_BASE && !iommu_present(&pci_bus_type)) {
*val = *(u32 *) phys_to_virt(addr - HOST_PHYS_BASE);
} else { } else {
rc = -EFAULT; rc = -EFAULT;
} }
@ -4178,9 +4175,6 @@ static int goya_debugfs_write32(struct hl_device *hdev, u64 addr, u32 val)
if (ddr_bar_addr == U64_MAX) if (ddr_bar_addr == U64_MAX)
rc = -EIO; rc = -EIO;
} else if (addr >= HOST_PHYS_BASE && !iommu_present(&pci_bus_type)) {
*(u32 *) phys_to_virt(addr - HOST_PHYS_BASE) = val;
} else { } else {
rc = -EFAULT; rc = -EFAULT;
} }
@ -4223,9 +4217,6 @@ static int goya_debugfs_read64(struct hl_device *hdev, u64 addr, u64 *val)
if (ddr_bar_addr == U64_MAX) if (ddr_bar_addr == U64_MAX)
rc = -EIO; rc = -EIO;
} else if (addr >= HOST_PHYS_BASE && !iommu_present(&pci_bus_type)) {
*val = *(u64 *) phys_to_virt(addr - HOST_PHYS_BASE);
} else { } else {
rc = -EFAULT; rc = -EFAULT;
} }
@ -4266,9 +4257,6 @@ static int goya_debugfs_write64(struct hl_device *hdev, u64 addr, u64 val)
if (ddr_bar_addr == U64_MAX) if (ddr_bar_addr == U64_MAX)
rc = -EIO; rc = -EIO;
} else if (addr >= HOST_PHYS_BASE && !iommu_present(&pci_bus_type)) {
*(u64 *) phys_to_virt(addr - HOST_PHYS_BASE) = val;
} else { } else {
rc = -EFAULT; rc = -EFAULT;
} }