dmaengine: idxd: add RO check for wq max_transfer_size write
authorDave Jiang <dave.jiang@intel.com>
Mon, 11 Apr 2022 22:08:01 +0000 (15:08 -0700)
committerVinod Koul <vkoul@kernel.org>
Wed, 20 Apr 2022 11:54:42 +0000 (17:24 +0530)
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>
drivers/dma/idxd/sysfs.c

index 6c41d429bd89f9457e32327c327193eab06df83d..dfd549685c467ac796c76873b4dca559f33e622c 100644 (file)
@@ -905,6 +905,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;