Re: [PATCH] scsi: ufs: core: sysfs: Prevent div by zero

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/19/24 10:25 PM, Gwendal Grignou wrote:
Prevent a division by 0 when monitoring is not enabled.

Fixes: 1d8613a23f3c ("scsi: ufs: core: Introduce HBA performance monitor sysfs nodes")

Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx>
---
  drivers/ufs/core/ufs-sysfs.c | 6 ++++++
  1 file changed, 6 insertions(+)

diff --git a/drivers/ufs/core/ufs-sysfs.c b/drivers/ufs/core/ufs-sysfs.c
index c95906443d5f9..3692b39b35e78 100644
--- a/drivers/ufs/core/ufs-sysfs.c
+++ b/drivers/ufs/core/ufs-sysfs.c
@@ -485,6 +485,9 @@ static ssize_t read_req_latency_avg_show(struct device *dev,
  	struct ufs_hba *hba = dev_get_drvdata(dev);
  	struct ufs_hba_monitor *m = &hba->monitor;
+ if (!m->nr_req[READ])
+		return sysfs_emit(buf, "0\n");
+
  	return sysfs_emit(buf, "%llu\n", div_u64(ktime_to_us(m->lat_sum[READ]),
  						 m->nr_req[READ]));
  }
@@ -552,6 +555,9 @@ static ssize_t write_req_latency_avg_show(struct device *dev,
  	struct ufs_hba *hba = dev_get_drvdata(dev);
  	struct ufs_hba_monitor *m = &hba->monitor;
+ if (!m->nr_req[WRITE])
+		return sysfs_emit(buf, "0\n");
+
  	return sysfs_emit(buf, "%llu\n", div_u64(ktime_to_us(m->lat_sum[WRITE]),
  						 m->nr_req[WRITE]));
  }

Is anyone using the UFS monitor infrastructure or can it perhaps be
removed?

Thanks,

Bart.




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux