habanalabs: enforce alignment upon registers access through debugfs
When accessing the configuration registers through debugfs, it is only allowed to access aligned address. Fail if address is not aligned. Signed-off-by: Dafna Hirschfeld <dhirschfeld@habana.ai> Reviewed-by: Oded Gabbay <ogabbay@kernel.org> Signed-off-by: Oded Gabbay <ogabbay@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
ee8a10c833
commit
9248aa90d2
|
@ -94,6 +94,11 @@ int hl_access_cfg_region(struct hl_device *hdev, u64 addr, u64 *val,
|
|||
struct pci_mem_region *cfg_region = &hdev->pci_mem_region[PCI_REGION_CFG];
|
||||
u32 val_h, val_l;
|
||||
|
||||
if (!IS_ALIGNED(addr, sizeof(u32))) {
|
||||
dev_err(hdev->dev, "address %#llx not a multiple of %zu\n", addr, sizeof(u32));
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
switch (acc_type) {
|
||||
case DEBUGFS_READ32:
|
||||
*val = RREG32(addr - cfg_region->region_base);
|
||||
|
|
Loading…
Reference in New Issue