The type of "nfree" is u32, so "nfree - 1" can only be overflowed when
"nfree" is zero. Replace "if (nfree - 1 > nfree)" with "if (nfree == 0)"
seems more clear. And remove the assignment "nfree = 0", no need for it.

Signed-off-by: Zhen Lei <[email protected]>
---
 drivers/nvdimm/dimm_devs.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/nvdimm/dimm_devs.c b/drivers/nvdimm/dimm_devs.c
index 61374def515552f..bf7d0cdc147cb39 100644
--- a/drivers/nvdimm/dimm_devs.c
+++ b/drivers/nvdimm/dimm_devs.c
@@ -347,10 +347,9 @@ static ssize_t available_slots_show(struct device *dev,
 
        nvdimm_bus_lock(dev);
        nfree = nd_label_nfree(ndd);
-       if (nfree - 1 > nfree) {
+       if (nfree == 0)
                dev_WARN_ONCE(dev, 1, "we ate our last label?\n");
-               nfree = 0;
-       } else
+       else
                nfree--;
        rc = sprintf(buf, "%d\n", nfree);
        nvdimm_bus_unlock(dev);
-- 
1.8.3


Reply via email to