Message ID | 153930924180.1057750.14086655850300209980.stgit@dwillia2-desk3.amr.corp.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | libnvdimm, label: Fix sparse warning | expand |
On 10/11/2018 6:54 PM, Dan Williams wrote: > 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> > Cc: Alexander Duyck <alexander.h.duyck@linux.intel.com> > Signed-off-by: Dan Williams <dan.j.williams@intel.com> The change looks good to me. Acked-by: Alexander Duyck <alexander.h.duyck@linux.intel.com> > --- > drivers/nvdimm/label.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/nvdimm/label.c b/drivers/nvdimm/label.c > index 7f03d117824f..750dbaa6ce82 100644 > --- a/drivers/nvdimm/label.c > +++ b/drivers/nvdimm/label.c > @@ -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 */ >
diff --git a/drivers/nvdimm/label.c b/drivers/nvdimm/label.c index 7f03d117824f..750dbaa6ce82 100644 --- a/drivers/nvdimm/label.c +++ b/drivers/nvdimm/label.c @@ -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 */
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> Cc: Alexander Duyck <alexander.h.duyck@linux.intel.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com> --- drivers/nvdimm/label.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)