diff mbox series

dmaengine: idxd: add RO check for wq max_transfer_size write

Message ID 164971488154.2200913.10706665404118545941.stgit@djiang5-desk3.ch.intel.com (mailing list archive)
State Accepted
Commit 505a2d1032ae656b0a8c736be110255503941cde
Headers show
Series dmaengine: idxd: add RO check for wq max_transfer_size write | expand

Commit Message

Dave Jiang April 11, 2022, 10:08 p.m. UTC
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>
---
 drivers/dma/idxd/sysfs.c |    3 +++
 1 file changed, 3 insertions(+)

Comments

Vinod Koul April 20, 2022, 11:47 a.m. UTC | #1
On 11-04-22, 15:08, Dave Jiang wrote:
> Block wq_max_transfer_size_store() when the device is configured as
> read-only and not configurable.

Applied, thanks

> 
> 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>
> ---
>  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 7e19ab92b61a..ec13ca4808f9 100644
> --- a/drivers/dma/idxd/sysfs.c
> +++ b/drivers/dma/idxd/sysfs.c
> @@ -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;
>  
>
diff mbox series

Patch

diff --git a/drivers/dma/idxd/sysfs.c b/drivers/dma/idxd/sysfs.c
index 7e19ab92b61a..ec13ca4808f9 100644
--- a/drivers/dma/idxd/sysfs.c
+++ b/drivers/dma/idxd/sysfs.c
@@ -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;