]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
libnvdimm, label: Fix sparse warning
authorDan Williams <dan.j.williams@intel.com>
Fri, 12 Oct 2018 01:25:20 +0000 (18:25 -0700)
committerDan Williams <dan.j.williams@intel.com>
Fri, 12 Oct 2018 15:39:41 +0000 (08:39 -0700)
The kbuild robot reports:

drivers/nvdimm/label.c:500:32: warning: restricted __le32 degrades to integer

...read 'nslot' into a local u32.

Reported-by: kbuild test robot <lkp@intel.com>
Acked-by: Alexander Duyck <alexander.h.duyck@linux.intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/nvdimm/label.c

index 7f03d117824f0925bc0d908811f33acbdd566961..750dbaa6ce82c16173b4816ac44162e02c18e552 100644 (file)
@@ -424,6 +424,7 @@ int nd_label_data_init(struct nvdimm_drvdata *ndd)
        struct nd_namespace_index *nsindex;
        unsigned int i;
        int rc = 0;
+       u32 nslot;
 
        if (ndd->data)
                return 0;
@@ -495,9 +496,10 @@ int nd_label_data_init(struct nvdimm_drvdata *ndd)
 
        /* Determine starting offset for label data */
        offset = __le64_to_cpu(nsindex->labeloff);
+       nslot = __le32_to_cpu(nsindex->nslot);
 
        /* Loop through the free list pulling in any active labels */
-       for (i = 0; i < nsindex->nslot; i++, offset += ndd->nslabel_size) {
+       for (i = 0; i < nslot; i++, offset += ndd->nslabel_size) {
                size_t label_read_size;
 
                /* zero out the unused labels */