| From bd5c8d69e9f287f83e047e32475a2ca71c993071 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 11 Apr 2022 15:08:01 -0700 |
| Subject: dmaengine: idxd: add RO check for wq max_transfer_size write |
| |
| From: Dave Jiang <dave.jiang@intel.com> |
| |
| [ Upstream commit 505a2d1032ae656b0a8c736be110255503941cde ] |
| |
| Block wq_max_transfer_size_store() when the device is configured as |
| read-only and not configurable. |
| |
| Fixes: d7aad5550eca ("dmaengine: idxd: add support for configurable max wq xfer size") |
| Reported-by: Bernice Zhang <bernice.zhang@intel.com> |
| Tested-by: Bernice Zhang <bernice.zhang@intel.com> |
| Signed-off-by: Dave Jiang <dave.jiang@intel.com> |
| Link: https://lore.kernel.org/r/164971488154.2200913.10706665404118545941.stgit@djiang5-desk3.ch.intel.com |
| Signed-off-by: Vinod Koul <vkoul@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/dma/idxd/sysfs.c | 3 +++ |
| 1 file changed, 3 insertions(+) |
| |
| diff --git a/drivers/dma/idxd/sysfs.c b/drivers/dma/idxd/sysfs.c |
| index 5bf4b4be64e4..51af0dfc3c63 100644 |
| --- a/drivers/dma/idxd/sysfs.c |
| +++ b/drivers/dma/idxd/sysfs.c |
| @@ -1098,6 +1098,9 @@ static ssize_t wq_max_transfer_size_store(struct device *dev, struct device_attr |
| u64 xfer_size; |
| int rc; |
| |
| + if (!test_bit(IDXD_FLAG_CONFIGURABLE, &idxd->flags)) |
| + return -EPERM; |
| + |
| if (wq->state != IDXD_WQ_DISABLED) |
| return -EPERM; |
| |
| -- |
| 2.35.1 |
| |