Message ID | 20190603221157.58502-1-natechancellor@gmail.com (mailing list archive) |
---|---|
State | Mainlined, archived |
Commit | 0df3e42167caaf9f8c7b64de3da40a459979afe8 |
Headers | show |
Series | [v2] PCI: rpaphp: Avoid a sometimes-uninitialized warning | expand |
On 06/03/2019 03:11 PM, Nathan Chancellor wrote: > When building with -Wsometimes-uninitialized, clang warns: > > drivers/pci/hotplug/rpaphp_core.c:243:14: warning: variable 'fndit' is > used uninitialized whenever 'for' loop exits because its condition is > false [-Wsometimes-uninitialized] > for (j = 0; j < entries; j++) { > ^~~~~~~~~~~ > drivers/pci/hotplug/rpaphp_core.c:256:6: note: uninitialized use occurs > here > if (fndit) > ^~~~~ > drivers/pci/hotplug/rpaphp_core.c:243:14: note: remove the condition if > it is always true > for (j = 0; j < entries; j++) { > ^~~~~~~~~~~ > drivers/pci/hotplug/rpaphp_core.c:233:14: note: initialize the variable > 'fndit' to silence this warning > int j, fndit; > ^ > = 0 > > fndit is only used to gate a sprintf call, which can be moved into the > loop to simplify the code and eliminate the local variable, which will > fix this warning. > > Link: https://github.com/ClangBuiltLinux/linux/issues/504 > Fixes: 2fcf3ae508c2 ("hotplug/drc-info: Add code to search ibm,drc-info property") > Suggested-by: Nick Desaulniers <ndesaulniers@google.com> > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> Acked-by: Tyrel Datwyler <tyreld@linux.ibm.com>
On Mon, Jun 03, 2019 at 03:11:58PM -0700, Nathan Chancellor wrote: > When building with -Wsometimes-uninitialized, clang warns: > > drivers/pci/hotplug/rpaphp_core.c:243:14: warning: variable 'fndit' is > used uninitialized whenever 'for' loop exits because its condition is > false [-Wsometimes-uninitialized] > for (j = 0; j < entries; j++) { > ^~~~~~~~~~~ > drivers/pci/hotplug/rpaphp_core.c:256:6: note: uninitialized use occurs > here > if (fndit) > ^~~~~ > drivers/pci/hotplug/rpaphp_core.c:243:14: note: remove the condition if > it is always true > for (j = 0; j < entries; j++) { > ^~~~~~~~~~~ > drivers/pci/hotplug/rpaphp_core.c:233:14: note: initialize the variable > 'fndit' to silence this warning > int j, fndit; > ^ > = 0 > > fndit is only used to gate a sprintf call, which can be moved into the > loop to simplify the code and eliminate the local variable, which will > fix this warning. > > Link: https://github.com/ClangBuiltLinux/linux/issues/504 > Fixes: 2fcf3ae508c2 ("hotplug/drc-info: Add code to search ibm,drc-info property") > Suggested-by: Nick Desaulniers <ndesaulniers@google.com> > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> > --- > > v1 -> v2: > > * Eliminate fndit altogether by shuffling the sprintf call into the for > loop and changing the if conditional, as suggested by Nick. > > drivers/pci/hotplug/rpaphp_core.c | 18 +++++++----------- > 1 file changed, 7 insertions(+), 11 deletions(-) > > diff --git a/drivers/pci/hotplug/rpaphp_core.c b/drivers/pci/hotplug/rpaphp_core.c > index bcd5d357ca23..c3899ee1db99 100644 > --- a/drivers/pci/hotplug/rpaphp_core.c > +++ b/drivers/pci/hotplug/rpaphp_core.c > @@ -230,7 +230,7 @@ static int rpaphp_check_drc_props_v2(struct device_node *dn, char *drc_name, > struct of_drc_info drc; > const __be32 *value; > char cell_drc_name[MAX_DRC_NAME_LEN]; > - int j, fndit; > + int j; > > info = of_find_property(dn->parent, "ibm,drc-info", NULL); > if (info == NULL) > @@ -245,17 +245,13 @@ static int rpaphp_check_drc_props_v2(struct device_node *dn, char *drc_name, > > /* Should now know end of current entry */ > > - if (my_index > drc.last_drc_index) > - continue; > - > - fndit = 1; > - break; > + /* Found it */ > + if (my_index <= drc.last_drc_index) { > + sprintf(cell_drc_name, "%s%d", drc.drc_name_prefix, > + my_index); > + break; > + } > } > - /* Found it */ > - > - if (fndit) > - sprintf(cell_drc_name, "%s%d", drc.drc_name_prefix, > - my_index); > > if (((drc_name == NULL) || > (drc_name && !strcmp(drc_name, cell_drc_name))) && > -- > 2.22.0.rc3 > Gentle ping, can someone pick this up? Cheers, Nathan
>On Mon, Jun 03, 2019 at 03:11:58PM -0700, Nathan Chancellor wrote: >> When building with -Wsometimes-uninitialized, clang warns: >> >> drivers/pci/hotplug/rpaphp_core.c:243:14: warning: variable 'fndit' is >> used uninitialized whenever 'for' loop exits because its condition is >> false [-Wsometimes-uninitialized] >> for (j = 0; j < entries; j++) { >> ^~~~~~~~~~~ >> drivers/pci/hotplug/rpaphp_core.c:256:6: note: uninitialized use occurs >> here >> if (fndit) >> ^~~~~ >> drivers/pci/hotplug/rpaphp_core.c:243:14: note: remove the condition if >> it is always true >> for (j = 0; j < entries; j++) { >> ^~~~~~~~~~~ >> drivers/pci/hotplug/rpaphp_core.c:233:14: note: initialize the variable >> 'fndit' to silence this warning >> int j, fndit; >> ^ >> = 0 >> >> fndit is only used to gate a sprintf call, which can be moved into the >> loop to simplify the code and eliminate the local variable, which will >> fix this warning. >> >> Link: https://github.com/ClangBuiltLinux/linux/issues/504 >> Fixes: 2fcf3ae508c2 ("hotplug/drc-info: Add code to search ibm,drc-info property") >> Suggested-by: Nick Desaulniers <ndesaulniers@google.com> >> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> >> --- >> >> v1 -> v2: >> >> * Eliminate fndit altogether by shuffling the sprintf call into the for >> loop and changing the if conditional, as suggested by Nick. > >> drivers/pci/hotplug/rpaphp_core.c | 18 +++++++----------- >> 1 file changed, 7 insertions(+), 11 deletions(-) >> Gentle ping, can someone pick this up? Looks a good simplification of somewhat convoluted control flow. Acked-by: Joel Savitz <jsavitz@redhat.com>
On Mon, Jun 03, 2019 at 03:11:58PM -0700, Nathan Chancellor wrote: > When building with -Wsometimes-uninitialized, clang warns: > > drivers/pci/hotplug/rpaphp_core.c:243:14: warning: variable 'fndit' is > used uninitialized whenever 'for' loop exits because its condition is > false [-Wsometimes-uninitialized] > for (j = 0; j < entries; j++) { > ^~~~~~~~~~~ > drivers/pci/hotplug/rpaphp_core.c:256:6: note: uninitialized use occurs > here > if (fndit) > ^~~~~ > drivers/pci/hotplug/rpaphp_core.c:243:14: note: remove the condition if > it is always true > for (j = 0; j < entries; j++) { > ^~~~~~~~~~~ > drivers/pci/hotplug/rpaphp_core.c:233:14: note: initialize the variable > 'fndit' to silence this warning > int j, fndit; > ^ > = 0 > > fndit is only used to gate a sprintf call, which can be moved into the > loop to simplify the code and eliminate the local variable, which will > fix this warning. > > Link: https://github.com/ClangBuiltLinux/linux/issues/504 > Fixes: 2fcf3ae508c2 ("hotplug/drc-info: Add code to search ibm,drc-info property") > Suggested-by: Nick Desaulniers <ndesaulniers@google.com> > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> > --- > > v1 -> v2: > > * Eliminate fndit altogether by shuffling the sprintf call into the for > loop and changing the if conditional, as suggested by Nick. > > drivers/pci/hotplug/rpaphp_core.c | 18 +++++++----------- > 1 file changed, 7 insertions(+), 11 deletions(-) > > diff --git a/drivers/pci/hotplug/rpaphp_core.c b/drivers/pci/hotplug/rpaphp_core.c > index bcd5d357ca23..c3899ee1db99 100644 > --- a/drivers/pci/hotplug/rpaphp_core.c > +++ b/drivers/pci/hotplug/rpaphp_core.c > @@ -230,7 +230,7 @@ static int rpaphp_check_drc_props_v2(struct device_node *dn, char *drc_name, > struct of_drc_info drc; > const __be32 *value; > char cell_drc_name[MAX_DRC_NAME_LEN]; > - int j, fndit; > + int j; > > info = of_find_property(dn->parent, "ibm,drc-info", NULL); > if (info == NULL) > @@ -245,17 +245,13 @@ static int rpaphp_check_drc_props_v2(struct device_node *dn, char *drc_name, > > /* Should now know end of current entry */ > > - if (my_index > drc.last_drc_index) > - continue; > - > - fndit = 1; > - break; > + /* Found it */ > + if (my_index <= drc.last_drc_index) { > + sprintf(cell_drc_name, "%s%d", drc.drc_name_prefix, > + my_index); > + break; > + } > } > - /* Found it */ > - > - if (fndit) > - sprintf(cell_drc_name, "%s%d", drc.drc_name_prefix, > - my_index); > > if (((drc_name == NULL) || > (drc_name && !strcmp(drc_name, cell_drc_name))) && > -- > 2.22.0.rc3 > Hi all, Could someone please pick this up? Thanks, Nathan
Nathan Chancellor <natechancellor@gmail.com> writes: > On Mon, Jun 03, 2019 at 03:11:58PM -0700, Nathan Chancellor wrote: >> When building with -Wsometimes-uninitialized, clang warns: >> >> drivers/pci/hotplug/rpaphp_core.c:243:14: warning: variable 'fndit' is >> used uninitialized whenever 'for' loop exits because its condition is >> false [-Wsometimes-uninitialized] >> for (j = 0; j < entries; j++) { >> ^~~~~~~~~~~ >> drivers/pci/hotplug/rpaphp_core.c:256:6: note: uninitialized use occurs >> here >> if (fndit) >> ^~~~~ >> drivers/pci/hotplug/rpaphp_core.c:243:14: note: remove the condition if >> it is always true >> for (j = 0; j < entries; j++) { >> ^~~~~~~~~~~ >> drivers/pci/hotplug/rpaphp_core.c:233:14: note: initialize the variable >> 'fndit' to silence this warning >> int j, fndit; >> ^ >> = 0 >> >> fndit is only used to gate a sprintf call, which can be moved into the >> loop to simplify the code and eliminate the local variable, which will >> fix this warning. >> >> Link: https://github.com/ClangBuiltLinux/linux/issues/504 >> Fixes: 2fcf3ae508c2 ("hotplug/drc-info: Add code to search ibm,drc-info property") >> Suggested-by: Nick Desaulniers <ndesaulniers@google.com> >> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> >> --- >> >> v1 -> v2: >> >> * Eliminate fndit altogether by shuffling the sprintf call into the for >> loop and changing the if conditional, as suggested by Nick. >> >> drivers/pci/hotplug/rpaphp_core.c | 18 +++++++----------- >> 1 file changed, 7 insertions(+), 11 deletions(-) >> >> diff --git a/drivers/pci/hotplug/rpaphp_core.c b/drivers/pci/hotplug/rpaphp_core.c >> index bcd5d357ca23..c3899ee1db99 100644 >> --- a/drivers/pci/hotplug/rpaphp_core.c >> +++ b/drivers/pci/hotplug/rpaphp_core.c >> @@ -230,7 +230,7 @@ static int rpaphp_check_drc_props_v2(struct device_node *dn, char *drc_name, >> struct of_drc_info drc; >> const __be32 *value; >> char cell_drc_name[MAX_DRC_NAME_LEN]; >> - int j, fndit; >> + int j; >> >> info = of_find_property(dn->parent, "ibm,drc-info", NULL); >> if (info == NULL) >> @@ -245,17 +245,13 @@ static int rpaphp_check_drc_props_v2(struct device_node *dn, char *drc_name, >> >> /* Should now know end of current entry */ >> >> - if (my_index > drc.last_drc_index) >> - continue; >> - >> - fndit = 1; >> - break; >> + /* Found it */ >> + if (my_index <= drc.last_drc_index) { >> + sprintf(cell_drc_name, "%s%d", drc.drc_name_prefix, >> + my_index); >> + break; >> + } >> } >> - /* Found it */ >> - >> - if (fndit) >> - sprintf(cell_drc_name, "%s%d", drc.drc_name_prefix, >> - my_index); >> >> if (((drc_name == NULL) || >> (drc_name && !strcmp(drc_name, cell_drc_name))) && >> -- >> 2.22.0.rc3 >> > > Hi all, > > Could someone please pick this up? I'll take it. I was expecting Bjorn to take it as a PCI patch, but I realise now that I merged that code in the first place so may as well take this too. I'll put it in my next branch once that opens next week. cheers
On Mon, Jul 22, 2019 at 02:05:12PM +1000, Michael Ellerman wrote: > Nathan Chancellor <natechancellor@gmail.com> writes: > > On Mon, Jun 03, 2019 at 03:11:58PM -0700, Nathan Chancellor wrote: > >> When building with -Wsometimes-uninitialized, clang warns: > >> > >> drivers/pci/hotplug/rpaphp_core.c:243:14: warning: variable 'fndit' is > >> used uninitialized whenever 'for' loop exits because its condition is > >> false [-Wsometimes-uninitialized] > >> for (j = 0; j < entries; j++) { > >> ^~~~~~~~~~~ > >> drivers/pci/hotplug/rpaphp_core.c:256:6: note: uninitialized use occurs > >> here > >> if (fndit) > >> ^~~~~ > >> drivers/pci/hotplug/rpaphp_core.c:243:14: note: remove the condition if > >> it is always true > >> for (j = 0; j < entries; j++) { > >> ^~~~~~~~~~~ > >> drivers/pci/hotplug/rpaphp_core.c:233:14: note: initialize the variable > >> 'fndit' to silence this warning > >> int j, fndit; > >> ^ > >> = 0 > >> > >> fndit is only used to gate a sprintf call, which can be moved into the > >> loop to simplify the code and eliminate the local variable, which will > >> fix this warning. > >> > >> Link: https://github.com/ClangBuiltLinux/linux/issues/504 > >> Fixes: 2fcf3ae508c2 ("hotplug/drc-info: Add code to search ibm,drc-info property") > >> Suggested-by: Nick Desaulniers <ndesaulniers@google.com> > >> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> > >> --- > >> > >> v1 -> v2: > >> > >> * Eliminate fndit altogether by shuffling the sprintf call into the for > >> loop and changing the if conditional, as suggested by Nick. > >> > >> drivers/pci/hotplug/rpaphp_core.c | 18 +++++++----------- > >> 1 file changed, 7 insertions(+), 11 deletions(-) > >> > >> diff --git a/drivers/pci/hotplug/rpaphp_core.c b/drivers/pci/hotplug/rpaphp_core.c > >> index bcd5d357ca23..c3899ee1db99 100644 > >> --- a/drivers/pci/hotplug/rpaphp_core.c > >> +++ b/drivers/pci/hotplug/rpaphp_core.c > >> @@ -230,7 +230,7 @@ static int rpaphp_check_drc_props_v2(struct device_node *dn, char *drc_name, > >> struct of_drc_info drc; > >> const __be32 *value; > >> char cell_drc_name[MAX_DRC_NAME_LEN]; > >> - int j, fndit; > >> + int j; > >> > >> info = of_find_property(dn->parent, "ibm,drc-info", NULL); > >> if (info == NULL) > >> @@ -245,17 +245,13 @@ static int rpaphp_check_drc_props_v2(struct device_node *dn, char *drc_name, > >> > >> /* Should now know end of current entry */ > >> > >> - if (my_index > drc.last_drc_index) > >> - continue; > >> - > >> - fndit = 1; > >> - break; > >> + /* Found it */ > >> + if (my_index <= drc.last_drc_index) { > >> + sprintf(cell_drc_name, "%s%d", drc.drc_name_prefix, > >> + my_index); > >> + break; > >> + } > >> } > >> - /* Found it */ > >> - > >> - if (fndit) > >> - sprintf(cell_drc_name, "%s%d", drc.drc_name_prefix, > >> - my_index); > >> > >> if (((drc_name == NULL) || > >> (drc_name && !strcmp(drc_name, cell_drc_name))) && > >> -- > >> 2.22.0.rc3 > >> > > > > Hi all, > > > > Could someone please pick this up? > > I'll take it. > > I was expecting Bjorn to take it as a PCI patch, but I realise now that > I merged that code in the first place so may as well take this too. > > I'll put it in my next branch once that opens next week. Sorry, I should have done something with this. Did you take it, Michael? I don't see it in -next and haven't figured out where to look in your git tree, so I can't tell. Just let me know either way so I know whether to drop this or apply it. Bjorn
Bjorn Helgaas <helgaas@kernel.org> writes: > On Mon, Jul 22, 2019 at 02:05:12PM +1000, Michael Ellerman wrote: >> Nathan Chancellor <natechancellor@gmail.com> writes: >> > On Mon, Jun 03, 2019 at 03:11:58PM -0700, Nathan Chancellor wrote: >> >> When building with -Wsometimes-uninitialized, clang warns: >> >> >> >> drivers/pci/hotplug/rpaphp_core.c:243:14: warning: variable 'fndit' is >> >> used uninitialized whenever 'for' loop exits because its condition is >> >> false [-Wsometimes-uninitialized] >> >> for (j = 0; j < entries; j++) { >> >> ^~~~~~~~~~~ >> >> drivers/pci/hotplug/rpaphp_core.c:256:6: note: uninitialized use occurs >> >> here >> >> if (fndit) >> >> ^~~~~ >> >> drivers/pci/hotplug/rpaphp_core.c:243:14: note: remove the condition if >> >> it is always true >> >> for (j = 0; j < entries; j++) { >> >> ^~~~~~~~~~~ >> >> drivers/pci/hotplug/rpaphp_core.c:233:14: note: initialize the variable >> >> 'fndit' to silence this warning >> >> int j, fndit; >> >> ^ >> >> = 0 >> >> >> >> fndit is only used to gate a sprintf call, which can be moved into the >> >> loop to simplify the code and eliminate the local variable, which will >> >> fix this warning. >> >> >> >> Link: https://github.com/ClangBuiltLinux/linux/issues/504 >> >> Fixes: 2fcf3ae508c2 ("hotplug/drc-info: Add code to search ibm,drc-info property") >> >> Suggested-by: Nick Desaulniers <ndesaulniers@google.com> >> >> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> >> >> --- >> >> >> >> v1 -> v2: >> >> >> >> * Eliminate fndit altogether by shuffling the sprintf call into the for >> >> loop and changing the if conditional, as suggested by Nick. >> >> >> >> drivers/pci/hotplug/rpaphp_core.c | 18 +++++++----------- >> >> 1 file changed, 7 insertions(+), 11 deletions(-) >> >> >> >> diff --git a/drivers/pci/hotplug/rpaphp_core.c b/drivers/pci/hotplug/rpaphp_core.c >> >> index bcd5d357ca23..c3899ee1db99 100644 >> >> --- a/drivers/pci/hotplug/rpaphp_core.c >> >> +++ b/drivers/pci/hotplug/rpaphp_core.c >> >> @@ -230,7 +230,7 @@ static int rpaphp_check_drc_props_v2(struct device_node *dn, char *drc_name, >> >> struct of_drc_info drc; >> >> const __be32 *value; >> >> char cell_drc_name[MAX_DRC_NAME_LEN]; >> >> - int j, fndit; >> >> + int j; >> >> >> >> info = of_find_property(dn->parent, "ibm,drc-info", NULL); >> >> if (info == NULL) >> >> @@ -245,17 +245,13 @@ static int rpaphp_check_drc_props_v2(struct device_node *dn, char *drc_name, >> >> >> >> /* Should now know end of current entry */ >> >> >> >> - if (my_index > drc.last_drc_index) >> >> - continue; >> >> - >> >> - fndit = 1; >> >> - break; >> >> + /* Found it */ >> >> + if (my_index <= drc.last_drc_index) { >> >> + sprintf(cell_drc_name, "%s%d", drc.drc_name_prefix, >> >> + my_index); >> >> + break; >> >> + } >> >> } >> >> - /* Found it */ >> >> - >> >> - if (fndit) >> >> - sprintf(cell_drc_name, "%s%d", drc.drc_name_prefix, >> >> - my_index); >> >> >> >> if (((drc_name == NULL) || >> >> (drc_name && !strcmp(drc_name, cell_drc_name))) && >> >> -- >> >> 2.22.0.rc3 >> >> >> > >> > Hi all, >> > >> > Could someone please pick this up? >> >> I'll take it. >> >> I was expecting Bjorn to take it as a PCI patch, but I realise now that >> I merged that code in the first place so may as well take this too. >> >> I'll put it in my next branch once that opens next week. > > Sorry, I should have done something with this. Did you take it, > Michael? I don't see it in -next and haven't figured out where to > look in your git tree, so I can't tell. Just let me know either way > so I know whether to drop this or apply it. Yes I have it in my next-test, which will eventually become my next when I get time to rebase it, test and push etc: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/log/?h=next-test So no further action required on your part. cheers
On Mon, 2019-06-03 at 22:11:58 UTC, Nathan Chancellor wrote: > When building with -Wsometimes-uninitialized, clang warns: > > drivers/pci/hotplug/rpaphp_core.c:243:14: warning: variable 'fndit' is > used uninitialized whenever 'for' loop exits because its condition is > false [-Wsometimes-uninitialized] > for (j = 0; j < entries; j++) { > ^~~~~~~~~~~ > drivers/pci/hotplug/rpaphp_core.c:256:6: note: uninitialized use occurs > here > if (fndit) > ^~~~~ > drivers/pci/hotplug/rpaphp_core.c:243:14: note: remove the condition if > it is always true > for (j = 0; j < entries; j++) { > ^~~~~~~~~~~ > drivers/pci/hotplug/rpaphp_core.c:233:14: note: initialize the variable > 'fndit' to silence this warning > int j, fndit; > ^ > = 0 > > fndit is only used to gate a sprintf call, which can be moved into the > loop to simplify the code and eliminate the local variable, which will > fix this warning. > > Link: https://github.com/ClangBuiltLinux/linux/issues/504 > Fixes: 2fcf3ae508c2 ("hotplug/drc-info: Add code to search ibm,drc-info property") > Suggested-by: Nick Desaulniers <ndesaulniers@google.com> > Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> > Acked-by: Tyrel Datwyler <tyreld@linux.ibm.com> > Acked-by: Joel Savitz <jsavitz@redhat.com> Applied to powerpc next, thanks. https://git.kernel.org/powerpc/c/0df3e42167caaf9f8c7b64de3da40a459979afe8 cheers
diff --git a/drivers/pci/hotplug/rpaphp_core.c b/drivers/pci/hotplug/rpaphp_core.c index bcd5d357ca23..c3899ee1db99 100644 --- a/drivers/pci/hotplug/rpaphp_core.c +++ b/drivers/pci/hotplug/rpaphp_core.c @@ -230,7 +230,7 @@ static int rpaphp_check_drc_props_v2(struct device_node *dn, char *drc_name, struct of_drc_info drc; const __be32 *value; char cell_drc_name[MAX_DRC_NAME_LEN]; - int j, fndit; + int j; info = of_find_property(dn->parent, "ibm,drc-info", NULL); if (info == NULL) @@ -245,17 +245,13 @@ static int rpaphp_check_drc_props_v2(struct device_node *dn, char *drc_name, /* Should now know end of current entry */ - if (my_index > drc.last_drc_index) - continue; - - fndit = 1; - break; + /* Found it */ + if (my_index <= drc.last_drc_index) { + sprintf(cell_drc_name, "%s%d", drc.drc_name_prefix, + my_index); + break; + } } - /* Found it */ - - if (fndit) - sprintf(cell_drc_name, "%s%d", drc.drc_name_prefix, - my_index); if (((drc_name == NULL) || (drc_name && !strcmp(drc_name, cell_drc_name))) &&
When building with -Wsometimes-uninitialized, clang warns: drivers/pci/hotplug/rpaphp_core.c:243:14: warning: variable 'fndit' is used uninitialized whenever 'for' loop exits because its condition is false [-Wsometimes-uninitialized] for (j = 0; j < entries; j++) { ^~~~~~~~~~~ drivers/pci/hotplug/rpaphp_core.c:256:6: note: uninitialized use occurs here if (fndit) ^~~~~ drivers/pci/hotplug/rpaphp_core.c:243:14: note: remove the condition if it is always true for (j = 0; j < entries; j++) { ^~~~~~~~~~~ drivers/pci/hotplug/rpaphp_core.c:233:14: note: initialize the variable 'fndit' to silence this warning int j, fndit; ^ = 0 fndit is only used to gate a sprintf call, which can be moved into the loop to simplify the code and eliminate the local variable, which will fix this warning. Link: https://github.com/ClangBuiltLinux/linux/issues/504 Fixes: 2fcf3ae508c2 ("hotplug/drc-info: Add code to search ibm,drc-info property") Suggested-by: Nick Desaulniers <ndesaulniers@google.com> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> --- v1 -> v2: * Eliminate fndit altogether by shuffling the sprintf call into the for loop and changing the if conditional, as suggested by Nick. drivers/pci/hotplug/rpaphp_core.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-)